1、输入一个数,判断是不是回文数
//判断回文数
#include<iostream>
using namespace std;
bool symm(unsigned n) {
unsigned i = n;
unsigned m = 0;
while (i>0) {
m=m*10+i % 10;//翻转之后的数
i /= 10;
}
return m == n;//如果相等就是回文
}
int main() {
unsigned testnum;
cin >> testnum;
symm(testnum);
cout<<testnum<<endl<<symm(testnum);//返回1说明是回文数
}
2、寻找并输出11~ 999之间的数m,它满足m,m^2, m^3均为回文数
- 11~999都要遍历一遍,有初始条件,有结束条件,用for循环
- 单独写个函数实现回文判断(模除,累加实现反转,整除)
//寻找并输出11~ 999之间的数m,它满足m,m*m,m*m*m均为回文数
#include<iostream>
using namespace std;
bool symm(unsigned n) {
unsigned i = n;
unsigned m = 0;
while (i>0) {
m=m*10+i % 10;//翻转之后的数
i /= 10;
}
return m == n;//如果相等就是回文
}
int main() {
//11~999循环,有初始条件,有结束条件,用for循环
for(unsigned m=11;m<1000;m++){
if(symm(m)&&symm(m*m)&&(m*m*m)){
cout<<"\tm = "<<m;
cout<<"\tm*m = "<<m * m;
cout<<"\tm*m*m = "<<m * m * m<<endl;
}
}
return 0;
}