可逆素数是指将一个素数的各位数字顺序地
倒过来构成的反序数仍然是素数。
求所有的四位可逆素数
*/
#include <stdio.h>
/*
可逆素数是指将一个素数的各位数字顺序地
倒过来构成的反序数仍然是素数。
求所有的四位可逆素数
*/
int Pri_Num(int i);
int F_X(int i);
int main (int argc, char* argv[])
{
int i,j,c = 0;
for(i = 1000; i < 10000; i++)
{
if(Pri_Num(i))
if(Pri_Num(F_X(i)))
{
c++;
printf("%7d",i);
if(c % 10 == 0)
printf("\n");
}
}
printf("\n");
return 0;
}
/*
Pri_Num 判断是否为素数
@ i :待判断的数
返回值 :1 是素数
:0 不是素数
*/
int Pri_Num(int i)
{
int j;
for(j = 2; j <= i/2; j++)
{
if(i % j == 0)
{
return 0;
}
}
return 1;
}
/*
F_X(int i) 求一个数的反序数
@ i:待求反的数
返回值:其反序数
*/
int F_X(int i)
{
int f_num = 0;
while(i >= 1)
{
f_num = f_num * 10 + i % 10;
i /= 10;
}
return f_num;
}