回文数定义:设n是一任意自然数。 若将n的各位数字反向排列所得自然数n1与n相等,则称n为回文数
【样例输入】121
【样例输出】121是回文数
#include <iostream>
using namespace std;
int main()
{
int n,n1,n2,s=0;
cin >> n;
n1 = n;
while (n1 >0)
{
n2=n1%10;
s += n2;
//cout << n2;
s *= 10;
n1 /= 10;
}
s /= 10;
if (n == s)
cout << n << "是回文数";
else
cout << n << "不是回文数";
return 0;
}
用n1代替要判断的数来进行判断回文数的操作,以免后面要用n时发现n已经变换数值了。
每次循环后n1就少一个个位数字(比如124变成了12)
第一次循环的n2表示这个数的个位数字
s表示数值的倒序数的大小
为了得到这个数值的各个位上的数字,直到n1<0才结束循环
这时的s会比需要的倒序数大10倍,判断的时候除以10回来就好啦