寻找输出11-999之间的m,使满足m,m^2,m^3均为回文数
//回文数判断
#include <iostream>
using namespace std;
bool sym(unsigned int);
int main(){
for(unsigned int m=11;m<1000;m++)
if(sym(m)&&sym(m*m)&&sym(m*m*m)){
cout<<"m="<<m<<" ";
cout<<"m*m="<<m*m<<" ";
cout<<"m*m*m="<<m*m*m<<endl;
}
return 0;
}
bool sym(unsigned int n){
unsigned i=n;//不要改变原值n
unsigned m=0;//作为接收的变量,是rewrite后的结果存放。
while(i>0){
m=m*10+i%10;
i=i/10;
}
return m==n;//判决之前的n和改写后的m是否相等。
}
本期疑问:unsigned为什么强调?unsigned int和普通in t有什么区别?