求11到n之间(包括n),既是素数又是回文数的整数有多少个。用c++
时间: 2024-01-07 10:22:16 浏览: 124
以下是用 C++ 编写的求解过程:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
bool isPrime(int n) { // 判断素数
if (n <= 1) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}
bool isPalindrome(int n) { // 判断回文数
string s = to_string(n);
int len = s.length();
for (int i = 0; i < len / 2; i++) {
if (s[i] != s[len - 1 - i]) return false;
}
return true;
}
int main() {
int n;
cout << "请输入 n 的值:";
cin >> n;
int count = 0;
for (int i = 11; i <= n; i++) {
if (isPrime(i) && isPalindrome(i)) count++;
}
cout << "11 到 " << n << " 之间既是素数又是回文数的整数个数为:" << count << endl;
return 0;
}
```
运行程序后,输入 n 的值即可得到结果。
阅读全文