所谓无暇素数是指本身为素数,且其逆序数也是素数的数。例如:113是一个素数,311也是一个素数,113就是无暇素数
以下是具体的实现代码
#include <stdio.h>
int isPrime(int num)//判断一个数是否为素数
{
if (num < 2) return 0;
for (int i = 2; i * i <= num; i++)
{
if (num % i == 0) return 0;
}
return 1;
}
int reverse(int num)//求一个数的逆序数
{
int rev = 0;
while (num > 0)
{
rev = rev * 10 + num % 10;
num = num / 10;
}
return rev;
}
int main()//主函数
{
int i, m=100, n=900;
printf("100-900的无暇素数如下:\n");
for (i = m; i < n; i++)
{
if (isPrime(i))
{
int k=reverse(i);
if (isPrime(k))
printf("%d\t", i);
}
}
return 0;
}