C语言——回文质数
程序员文章站
2022-05-12 16:12:18
...
回文质数
题目详情:
输出范例:
解题思路:
输入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;
}