#include <iostream>
using namespace std;
bool symm(unsigned n);
unsigned power(unsigned x, unsigned y);
int main() {
for (int i = 11; i <= 999; i++) {
unsigned a, b, c;
a = power(i, 1);
b = power(i, 2);
c = power(i, 3);
if(symm(a)&&symm(b)&&symm(c)){
cout<<i<<"为回文数"<<endl;
}
}
}
bool symm(unsigned n) {
unsigned i = n;
unsigned m = 0;
while (i > 0) {
m = m * 10 + i % 10; //m*10类似于左移一位,把原先右边的数字变左边
i /= 10;
}
return m == n;
}
unsigned power(unsigned x, unsigned y) {
unsigned m = 1;
while (y > 0) {
m *= x;
y--;
}
return m;
}
寻找并输出11~999之间的数m,满足m、m平方、m三次方为回文数
最新推荐文章于 2023-09-11 13:49:02 发布