回文数。拿10进制来说17不是回文数,但17是2进制的回文数(17=10001) 输入:n(0<n<50000) 0退出。 输出:n是2到16进制的回文数。 Sample Input:17190 Out:Number 17 is palindrome in basis 2 4 16Number 19 is not a palindrome //参考程序 06-4-7 #include <iostream.h>int main(){ int n,i,m,j; int a[20],len; while(cin>>n) { int flag1=0; if(n==0) return 0; for(i=2;i<=16;i++) { m=n;len=0; while(m) { a[len]=m%i; m=m/i; len++; } int flag=0; for(j=0;j<len/2;j++) if(a[j]!=a[len-1-j]) { flag=1; break; } if(flag==0 && flag1==0) { cout<<"Number "<<n<<" is palindrome in basis "<<i; flag1++; } else if(flag==0 && flag1==1) cout<<" "<<i; } if(flag1==0) cout<<"Number "<<n<<" is not a palindrome"; cout<<endl; }}

评论