问题标题: 请问回文数怎么求?

0
0

3
已采纳
贾文卓
贾文卓
高级光能
高级光能

假设要求x的回文数,用ans存储回文数。

部分代码如下:

ans=0;
while(x>0)
{
    ans=ans*10+x%10;
    x/=10;
}

举个例子: 要求1234的回文数,过程如下:

x=1234 ans=0

x=123 ans=4

x=12 ans=43

x=1 ans=432

x=0 ans=4321

0
0
0
邵逸儒
邵逸儒
中级天翼
中级天翼

回文数则是有类似22、383、5445、12321,不论是从左向右顺读,还是从右向左倒读,结果都是一样的特征.许多数学家着迷于此。
回文数中存在无穷多个素数11,101,131,151,191……。除了11以外,所有回文素数的位数都是奇数。道理很简单:如果一个回文素数的位数是偶数,则它的奇数位上的数字和与偶数位上的数字和必然相等;根据数的整除性理论,容易判断这样的数肯定能被11整除,所以它就不可能是素数。

人们借助电子计算机发现,在完全平方数、完全立方数中的回文数,其比例要比一般自然数中回文数所占的比例大得多。例如112=121,222=484,73=343,113=1331……都是回文数。

人们迄今未能找到四次方、五次方,以及更高次幂的回文素数。于是数学家们猜想:不存在nk(k≥4;n、k均是自然数)形式的回文数。

在电子计算器的实践中,还发现了一桩趣事:任何一个自然数与它的倒序数相加,所得的和再与和的倒序数相加,……如此反复进行下去,经过有限次步骤后,最后必定能得到一个回文数。

0
0
张马润泽
张马润泽
初级光能
初级光能

 

C++ 中回文数判断简单实例

判断一个整型数是否为“回文数”,如1221,232,5。

#include <iostream> 

using namespace std; 

   

void isHuiwen(int number) 

{  

  int n = 0;//余数. 

  int m = number;

  while(m != 0) 

  

    n = n*10 + m %10; //number的最低位变为n的最高位

    m = m /10; 

  

  

  if(n==number) 

    cout << "yes" << endl; 

  else 

    cout << "no" << endl; 

   

int main() 

  int number; 

  while(cin >> number) 

    isHuiwen(number); 

  return 0; 

我要回答