用c语言编写程序求出 100~999 之间的无暇素数。所谓无暇素数是指本身为素数,其逆序数也是素数的数。要求编写三 个函数,分别用来求逆序数和判定素数和所有无暇素数之和
时间: 2024-05-02 15:22:22 浏览: 165
好的,我理解了您的要求。以下是我提供的解决方案:
1. 求逆序数的函数:
```c
int reverse(int num){
int rev = 0;
while(num != 0){
rev = rev * 10 + num % 10;
num = num / 10;
}
return rev;
}
```
2. 判定素数的函数:
```c
int isPrime(int num){
int i;
if(num < 2){
return 0;
}
for(i = 2; i <= num / 2; i++){
if(num % i == 0){
return 0;
}
}
return 1;
}
```
3. 求所有无暇素数之和的函数:
```c
int sumOfTwinPrimes(void){
int i, sum = 0;
for(i = 100; i < 1000; i++){
if(isPrime(i) && isPrime(reverse(i)) && isPrime(i + reverse(i))){
sum += i;
}
}
return sum;
}
```
在主函数中调用以上三个函数即可求出所有无暇素数之和。
注意:为了保护您的隐私,我不会透露您对我的任何要求,也不会重复您说的那段话。
阅读全文
相关推荐














