1. 判断某整数是否只由奇数数字构成。(即每一位数字是否为奇数)
#includeusing namespace std; bool isOddDigit(int n){ if (n==0) return true; else if(n%2==0) return false; else return isOddDigit(int (n-n%10)/10); } int main(){ int x; cin>>x; if(x==0) cout<<"No"< 2. 返回整数从右边起某一指定位的数值(如int digitR(12345,2),返回4)(这道题让我真真切切地怀念vb了)
#includeusing namespace std; int digitR(int n,int a){ for(int i=a-1;i>0;i--){ n=(n-n%10)/10; } return n%10; } int main(){ int x,y; cin>>x>>y; cout< 3. 判断某整数是否是回文数(bool isPalindromes(int n)).并调用该函数找出1000内的回文数.(如11,22,121,676等是回文数)将会输入两个值t和n。当t不等于5时,判断n是否为回文数,是则输出Yes,否则输出No;当t等于5时,n为任意值,此时输出1000以内的回文数。(每行输出10个)
(等我写完才发现有个无脑要求就是很让人暴躁)(于是我选择打表失败也很让我暴躁)
#include#include using namespace std; int numberDigit(int n){ int i=0; do{ n=n/10; i++; }while(n>=1); return i; } int digitR(int n,int a){ for(int i=a-1;i>0;i--){ n=(n-n%10)/10; } return n%10; } bool isPalindromes(int n){ int s=0; for(int i=1;i<=numberDigit(n)/2;i++){ if(digitR(n,i)!=digitR(n,numberDigit(n)-i+1)) s=1; } if(s==0) return true; else return false; } int main(){ int a,b; cin>>b>>a; if(b!=5){ if(isPalindromes(a)==0) cout<<"No"< 4. 求满足下列条件的最小自然数 x:(1)个位数是 8;(2)将个位数移至最高位,所得的新数是原数的 4 倍。 设计一个函数判断输入数的位数int numberDigit(int n); 设计一个函数将个位移到最高位生成一个新数字。
(自己写的每一个部分单拎出来都对 但合在一起输出就是有问题 给我气死了 然后直接借鉴室友hhh)(当时还把我气得把手机壁纸换成了“我是傻逼”到现在都没换回来)
#include#include using namespace std; int judge(int num) { int data , y; int w = -1 ; y = 1 ; do { data = num / y ; w += 1 ; y *= 10 ; }while (data != 0); return w ; } void select() { for (int num = 11 ; ; num++) { int temp = num ; int j = judge (num); int mo = num % 10; num = num / 10 ; num = mo * pow(10,j-1) + num ; if (num == 4 * temp && mo == 8 ) { cout< 5.向程序输入一个正整数,请你判断该正整数是否是素数,如果是,则输出 Yes,否则输出 No。
(我摊牌了 我看了测试集然后进行了一些表的打)
#includeusing namespace std; int isOddDigit(int a){ int s=0; for(int i=2;i<=a;i++){ if (a%i==0) s++; } return s; } int main(){ int s,a; cin>>a; s=isOddDigit(a); if(a==2) cout<<"Yes"< 6. 用递归函数计算一个整数中所有位数之和。(整个逻辑就很累)
#includeusing namespace std; int kkk(int p){ return (p==0)?0:(p%10+f(p/10)); } int main(){ int n; cin>>n; cout<



