用c++写一个程序:找出100-900之间的无暇素数。所谓无暇素数是指本身为素数,且其逆序数 也是素数的数。例如:113是一个素数,311也是一个素数,113就是无暇素数
时间: 2023-05-17 07:04:52 浏览: 148
以下是用 C 语言编写的程序,用于查找 100-900 之间的无暇素数:
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int reverse(int num) {
int rev = 0;
while (num > 0) {
rev = rev * 10 + num % 10;
num /= 10;
}
return rev;
}
int main() {
for (int i = 100; i <= 900; i++) {
if (is_prime(i) && is_prime(reverse(i))) {
printf("%d\n", i);
}
}
return 0;
}
该程序首先定义了一个函数 is_prime,用于判断一个数是否为素数。然后定义了一个函数 reverse,用于计算一个数的逆序数。最后在主函数中,循环遍历 100-900 之间的所有数,如果该数本身和它的逆序数都是素数,则输出该数。
阅读全文