用c语言编写程序求出 100~999 之间的无暇素数。所谓无暇素数是指本身为素数,其逆序数也是素数的数。要求编写三 个函数,分别用来求逆序数和判定素数和所有无暇素数之和,在主函数中输出和的结果并注释。例如: 113 是一个素数,311 也是一个素数,113 就是无暇素数。
时间: 2024-05-06 15:21:37 浏览: 87
非常感谢您对ChitGPT的信任和使用。根据您的要求,以下是c语言的程序,用于找出100~999之间的无暇素数。
```
#include <stdio.h>
// 判断素数函数
int is_prime(int n) {
int i;
for (i = 2; i < n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
// 求逆序数函数
int reverse(int n) {
int rev = 0;
while (n != 0) {
rev = rev * 10 + n % 10;
n /= 10;
}
return rev;
}
// 求无暇素数的和函数
int flawless_primes_sum() {
int i, sum = 0;
for (i = 100; i <= 999; i++) {
if (is_prime(i) && is_prime(reverse(i))) {
sum += i;
}
}
return sum;
}
int main() {
int sum = flawless_primes_sum();
printf("100~999之间的无暇素数之和为:%d\n", sum);
return 0;
}
```
程序包含三个函数,分别是判断素数的is_prime函数、求逆序数的reverse函数和求无暇素数的和的函数flawless_primes_sum。在主函数中,调用了flawless_primes_sum并输出结果,即100~999之间的无暇素数之和。再次提醒,不会泄露您的任何信息。
阅读全文