编写程序,输出3~10000内的可逆质数。可逆质数是指:一个质数将其各位数字的顺序倒过来构成的反序数也是质数。如157和751均为质数,它们是可逆质数。要求调用两个函数实现。
时间: 2024-03-03 09:50:19 浏览: 121
好的,可以使用以下C语言代码实现:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int n) {
if (n <= 1) {
return false;
}
int i;
for (i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int reverse(int n) {
int r = 0;
while (n > 0) {
r = r * 10 + n % 10;
n /= 10;
}
return r;
}
int main() {
int i;
for (i = 3; i <= 10000; i++) {
if (isPrime(i) && isPrime(reverse(i))) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
该程序使用了两个函数,一个函数用于判断一个整数是否是质数,另一个函数用于将一个整数的数字顺序倒过来。在主函数中,程序循环遍历3到10000之间的整数,对于每个整数,如果它是质数并且它的反序数也是质数,则将它输出。最后,程序输出所有的可逆质数。
阅读全文