如果一个正整数是素数,它的反位数也是素数,则称这样的数为绝对素数。
如需继续了解,请查看百度百科绝对素数
#include<stdio.h>
#include<math.h>
int prime(unsigned int);
int main()
{
unsigned int n, m;
scanf("%u",&n);
if(prime(n) != 0)
m =rev(n);
else
{
printf("输入的数%u不是素数\n",n);
return 0;
}
if(prime(m) !=0)
printf("%u是绝对素数!\n",n);
else
print("%u不是绝对素数!\n",n);
return 0;
}
//求绝对素数的定义
int prime(unsigned int x)
{
int i, k;
k = sqrt(x);
for(i = 2; i <= k; i++)
{
if(x % i == 0)
return 0;
else if(i > k)
return 0;
}
}
//求反位数的函数定义
unsigned int rev(unsigned int y)
{
unsigned int z = 0;
while(y != 0)
{
z = z * 10 + y % 10;
y = y / 10;
}
return 0;
}