高级光能
假设要求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
中级天翼
回文数则是有类似22、383、5445、12321,不论是从左向右顺读,还是从右向左倒读,结果都是一样的特征.许多数学家着迷于此。
回文数中存在无穷多个素数11,101,131,151,191……。除了11以外,所有回文素数的位数都是奇数。道理很简单:如果一个回文素数的位数是偶数,则它的奇数位上的数字和与偶数位上的数字和必然相等;根据数的整除性理论,容易判断这样的数肯定能被11整除,所以它就不可能是素数。
人们借助电子计算机发现,在完全平方数、完全立方数中的回文数,其比例要比一般自然数中回文数所占的比例大得多。例如112=121,222=484,73=343,113=1331……都是回文数。
人们迄今未能找到四次方、五次方,以及更高次幂的回文素数。于是数学家们猜想:不存在nk(k≥4;n、k均是自然数)形式的回文数。
在电子计算器的实践中,还发现了一桩趣事:任何一个自然数与它的倒序数相加,所得的和再与和的倒序数相加,……如此反复进行下去,经过有限次步骤后,最后必定能得到一个回文数。
初级光能
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;
}