求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;
}
程序输出: