正文

回文数2006-04-07 21:10:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/elva6401/12084.html

分享到:

回文数。
拿10进制来说17不是回文数,但17是2进制的回文数(17=10001)

输入:
n(0<n<50000)

0退出。

输出:
n是2到16进制的回文数。


Sample Input:
17
19
0

Out:
Number 17 is palindrome in basis 2 4 16
Number 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;
 }
}

阅读(4945) | 评论(3)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册