#include <stdio.h>
#include <math.h>
int isPrime(int n);
int reverse(int n);
int main (void){
int i,count;
count=0;
for(i=0;count<100;++i){
if (isPrime(i)&&isPrime(reverse(i))){
printf("%6d",i);
++count;
if(count%10==0)
printf("\n");
}
}
return 0;
}
int isPrime(int n){
int i,limit,flag=1;
if(n<=1)
flag=0;
else if(n==2)
flag=1;
else if(n%2==0)
flag=0;
else{
limit=sqrt(n)+1;
for(i=3;i<=limit;i+=2){
if(n%i==0){
flag=0;
break;
}
}
}
return flag;
}
int reverse(int n){
int i,sum=0;
while(isPrime(n))
{i=n%10; n/=10; sum=10*sum+i; }
return sum;
}
这是我自己弄的。输出的答案 有不是无暇素数的。
#include <math.h>
int isPrime(int n);
int reverse(int n);
int main (void){
int i,count;
count=0;
for(i=0;count<100;++i){
if (isPrime(i)&&isPrime(reverse(i))){
printf("%6d",i);
++count;
if(count%10==0)
printf("\n");
}
}
return 0;
}
int isPrime(int n){
int i,limit,flag=1;
if(n<=1)
flag=0;
else if(n==2)
flag=1;
else if(n%2==0)
flag=0;
else{
limit=sqrt(n)+1;
for(i=3;i<=limit;i+=2){
if(n%i==0){
flag=0;
break;
}
}
}
return flag;
}
int reverse(int n){
int i,sum=0;
while(isPrime(n))
{i=n%10; n/=10; sum=10*sum+i; }
return sum;
}
这是我自己弄的。输出的答案 有不是无暇素数的。