回文数判断问题,用int数组存储每个位数的值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <cstdio> int n,b; int d[32]={0}; int digit=0; void trans(int n,int b){ while(n){ d[digit++]=n%b; n/=b; } } int main(){ scanf("%d%d",&n,&b); trans(n,b); bool mark=true; for(int i=0;i<=digit/2 && mark;i++) if(d[i]!=d[digit-1-i]) mark=false; if(mark) printf("Yes"); else printf("No"); printf("\n%d",d[digit-1]); for(int i=digit-2;i>=0;i--) printf(" %d",d[i]); return 0; } |