C++编写程序输出100~1000范围内的回文素数。回文素数是指既是回文数同时也是素数的整数。(回文数是指一个数从左向右读和从右向左读都一样。例如,12321和101都是回文数)
时间: 2024-12-16 10:27:37 浏览: 5
在C++中,编写程序来找出100到1000之间的回文素数,可以按照以下步骤完成:
1. 首先,我们需要一个函数来检查一个数是否是素数。这通常通过试除法来实现,如果该数能被小于它的平方根的所有正整数整除,则它不是素数。
```cpp
bool isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0)
return false;
}
return true;
}
```
2. 然后,我们需要创建一个辅助函数来检查一个数是否是回文数:
```cpp
bool isPalindrome(int num) {
int reversedNum = 0;
int temp = num;
while (temp != 0) {
reversedNum = reversedNum * 10 + temp % 10;
temp /= 10;
}
return num == reversedNum;
}
```
3. 接下来,在主函数`main()`中,遍历100到1000之间的每个数,同时调用上述两个函数判断它是否是回文素数:
```cpp
#include <iostream>
int main() {
for (int i = 100; i <= 1000; ++i) {
if (isPalindrome(i) && isPrime(i)) {
std::cout << i << " ";
}
}
return 0;
}
```
这个程序会打印出所有满足条件的回文素数。
阅读全文