迴文質數
題目詳情:
輸出範例:
解題思路:
輸入a,b,判斷a,b之間的迴文質數,迴文數比質數少因此先找回文數再判斷是否爲質數。
迴文數判斷
while(num1!=0){
last=num1%10;
num2=num2*10+last;
num1=num1/10;
}
#include <stdio.h>
int zs(int n){
int i,flag=0;
if(n<=2)//1.2是質數
return 1;
else{
for(i=2;i<n;i++){
if(n%i==0){//不是質數
flag=-1;
return -1;
break;
}
}
return 1;//是質數
}
}
int main(){
int i,t,a,b,num1,num2=0,last=0;
scanf("%d%d",&a,&b);
//printf("%d\n",zs(6));
if(a>b){//確保a<b
t=a;
a=b;
b=t;
}
for(i=a;i<=b;i++){
num1=i;
while(num1!=0){
last=num1%10;
num2=num2*10+last;
num1=num1/10;
}
if(i==num2&&(zs(i)==1)){//迴文質數
printf("%d\n",i);
}
num2=0;
}
return 0;
}