关于可逆素数的问题
可逆素数是指将一个素数的各位数字的顺序倒过来构成的反序数仍然是素数,按以上叙述求所有的四位素数。#include <stdio.h>
#include <math.h>
int ss(int n)//判断一个数是否为素数
{
int j;
if(n<=1)
return 0;
if(n==2)
return 1;//是素数则返回1
for(j=2;j<=n;j++)//若是把这里的j<=sqrt(n)的话
if(n%j==0)
return 0;
else if(j!=n-1)//这里换成(j!=sqrt(n)-1),则会出错,不知道错在哪里
continue;
else
return 1;
}
int main(void)
{
int i,a,b,c,d,n;
for(i=1000;i<=9999;i++)
if(ss(i)==1)
{
a=i/1000;
b=i%1000/100;
c=i%1000%100/10;
d=i%1000%100%10;
if(ss(1000*d+100*c+10*b+a)==1&&(1000*d+100*c+10*b+a)>i)
{
printf("%d ",i);
n++;
if(n%5==0)
putchar('\n');
}
}
}
请各路朋友帮忙