用C语言找出5到500间的回文质数
时间: 2024-10-11 10:03:35 浏览: 40
ImageBasedModellingEdu-回文素数c语言
在C语言中,我们可以定义一个函数来检查一个数是否是质数,然后遍历5到500之间的所有数字,对于每个数字,判断其是否既是质数又是回文数。以下是简单的步骤:
首先,定义一个辅助函数`isPrime()`用于检测一个数是否为质数:
```c
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;
}
```
接着,编写主函数`findPalindromePrimes()`寻找回文质数:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPalindrome(int num) {
int rev = 0;
while (num != 0) {
int digit = num % 10;
rev = rev * 10 + digit;
num /= 10;
}
return num == rev;
}
int main() {
for (int num = 5; num <= 500; num++) {
if (isPrime(num) && isPalindrome(num)) {
printf("%d ", num);
}
}
return 0;
}
```
这个程序会打印出5到500之间所有的回文质数。
阅读全文