回文数指各位数字左右对称的数。例如:121、676等
分析:判断一个数是否是回文数,可以用除以10取余的方法。从最低位开始,依次取出该数的各位数字,然后用最低位充当最高位,按反序重新构成新的数,与原数比较是否相等,若相等,原数为回文数。
源程序:
#include<iostream>
using namespace std;
bool symm(unsigned n)
{
unsigned i=n;
unsigned m=0;
while(i>0)
{
m=m*10+i%10;
i=i/10;
}
return m==n;
}
int main()
{
for(unsigned m=11;m<1000;m++)
if(symm(m)&&symm(m*m)&&symm(m*m*m))
{
cout<<" m="<<m;
cout<<" m*m="<<m*m;
cout<<" m*m*m"<<m*m*m<<endl;
}
return 0;
}
输出结果: