回文数:
设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。
如何判断一个数是不是回文数?
//判断回文数方法
bool pd_h(int x)
{
int y=x,num=0;//int y=x,防止x被改变
while (y!=0)
{
num=num*10+y%10;//上一次数字的记录进位再加上下一位数
y/=10;
}
if (num==x) return 1;
else return 0;
}
代码很容易理解,意思就是把最低位变成num的最高位,次低位变成次高位,如果最后num == n说明该数是回文数
需要注意:
除了11,偶数位‘’质数‘’不可能是回文数