求10~1000之内的所有数x满足:x、x2和x3均为回文数

#include<iostream>
#include<iomanip>
using namespace std;

bool palindrome(int n) {
int m = 0, t = n; // 通过变量t将n的值保存
while (n != 0) { // m为n的逆序输出
m = m * 10 + n % 10;
n = n / 10;
}
return m == t; // 判断m与t值是否相等(判断是否为回文数) 并返回bool值
}

int main() {
int x;
for (x = 10; x <= 1000; x++)
if (palindrome(x) && palindrome(x * x) && palindrome(x * x * x))
cout << x << setw(8) << x * x << setw(8) << x * x * x << endl;
return 0;
}

 

程序输出:

 

posted @ 2020-04-22 11:56  萧竹影丶  阅读(74)  评论(0)    收藏  举报