【入门】素数回文数c++
时间: 2024-10-18 07:12:16 浏览: 38
素数回文数是指既可以被自身整除(即为1),也可以被其反转形式的数字整除的数,同时这个数本身必须是质数。例如,11、101等就是素数回文数。在C++中,我们可以编写一个简单的程序来找出所有的素数回文数。
以下是一个基本的示例,展示了如何从一定范围内的数开始,检查它们是否既是素数又是回文:
```cpp
#include <iostream>
#include <string>
bool isPalindrome(int num) {
std::string str = std::to_string(num);
int len = str.length();
for (size_t i = 0; i < len / 2; ++i) {
if (str[i] != str[len - 1 - i])
return false;
}
return true;
}
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0)
return false;
}
return num > 1;
}
void findPrimePalindromes(int start, int end) {
for (int num = start; num <= end; ++num) {
if (isPrime(num) && isPalindrome(num))
std::cout << num << " ";
}
}
int main() {
int rangeStart = 100; // 设置你要找的范围内最小的数
int rangeEnd = 10**5; // 设置你要找的范围内最大的数
findPrimePalindromes(rangeStart, rangeEnd);
return 0;
}
阅读全文