求 11 到 nn之间(包括 n),既是素数又是回文数的整数有多少个。用c语言
时间: 2024-01-07 11:20:01 浏览: 169
C++回文数及素数问题计算方法
题目要求找出11到n之间既是素数又是回文数的整数个数,可以使用两个函数分别判断一个数是否为素数和回文数,然后在主函数中遍历11到n之间的所有数,判断是否同时满足素数和回文数的条件,最后输出符合条件的数的个数即可。
以下是C语言代码实现:
```
#include <stdio.h>
// 判断一个数是否为素数
int isPrime(int n) {
if (n == 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
// 判断一个数是否为回文数
int isPalindrome(int n) {
int a[5], len = 0;
while (n) {
a[len++] = n % 10;
n = n / 10;
}
for (int i = 0, j = len - 1; i <= j; i++, j--) {
if (a[i] != a[j]) {
return 0;
}
}
return 1;
}
int main() {
int n, ans = 0;
scanf("%d", &n);
for (int i = 11; i <= n; i++) {
if (isPrime(i) && isPalindrome(i)) {
ans++;
}
}
printf("%d", ans);
return 0;
}
```
阅读全文