#include "stdio.h"
int isprime(int n){//素数判断
int i;
if(!(n&1))
return 0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return 0;
return 1;
}
int main(int argc,char *argv[]){
int x,t,s,k;
for(k=s=0,x=101;x<1000;x+=2)
if(isprime(x) && isprime(t=x%10*100+x/10%10*10+x/100) && x-t){
printf(++k%5 ? "%d <--> %d " : "%d <--> %d\n",x,t);
s++;
}
printf("\nA total of %d phantom primes.\n",s);
return 0;
}
运行结果:
思路:从1循环到999,找到一个素数n,(素数n就是不能被1到n-1的数整除),然后将得到该数的反序数,且不等于n,,算找到一个,全部找完后,总数除以2,就可以了。