回文数(函数)
寻找并输入11~999的数吗,它满足m,m2,m3均为回文数。
分析:判断一个数是否回文,可以用除以10取余的方法,依次取出该数的各位数字,然后用最低位充当最高位按反序重新构成新的数字,比较与原数是否相等。
#include<iostream>
using namespace std;
bool symm(unsigned 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;
}
bool symm(unsigned n)
{
unsigned i=n;
unsigned m=0;
while (i>0)
{
m=m*10+i%10;
i=i/10;
}
return m==n;
}