用C++编写程序:寻找并输出1001~9999之间的整数m,并且满足m、m2和m3均为回文数
时间: 2024-10-08 07:01:21 浏览: 30
在C++中,我们可以创建一个函数来检查数字是否是回文,然后再遍历指定范围内的整数,找出符合条件的回文数m,其平方m^2和立方m^3也是回文数。以下是实现这一功能的一个例子:
```cpp
#include <iostream>
#include <cmath>
// Function to check if a number is palindrome
bool isPalindrome(int num) {
int original = num, reversed = 0;
while (num != 0) {
int digit = num % 10;
reversed = (reversed * 10) + digit;
num /= 10;
}
return original == reversed;
}
int main() {
for (int m = 1001; m <= 9999; ++m) {
// Check if m, m^2 and m^3 are palindromes
if (isPalindrome(m) && isPalindrome(m*m) && isPalindrome(m*m*m)) {
std::cout << "Number " << m << " is a palindrome and its square and cube ("
<< m*m << " and " << m*m*m << ") are also palindromes.\n";
}
}
return 0;
}
```
这段代码首先定义了一个`isPalindrome`函数,接着在主函数中对1001到9999的每个整数m应用该函数,并检查m、m^2 和 m^3 是否都是回文数。如果找到这样的m,就打印出来。
阅读全文