#include<stdio.h> int judgehuiwen( int a); int isprime(int c); int main(){ int m,n; scanf("%d%d",&m,&n); //重点是怎么判断回文数 int i; int d[100]; int k=0; for(i=m;i<=n;i++){ if(1==judgehuiwen(i)&&isprime(i)==1){//这里判断出他是回文数 d[k++]=i; } } for(i=0;i<=k-1;i++){ printf("%6d",d[i]); if((i+1)%5==0){ printf("\n"); } } return 0; } int judgehuiwen( int a){ int b[5]; int result; if(a>=10&&a<=99){ b[1]=a%10; b[0]=a/10; if(b[1]==b[0]){ result= 1; } }else if(a>=100&&a<=999){ b[0]=a%10; b[2]=a/100; if(b[0]==b[2]){ result= 1; } }else if(a>=1000&&a<=9999){ int t; for(int i=3;i>=0;i--){ if(a>0){ t=a%10; b[i]=t; a=a/10; } } if(b[0]==b[3]&&b[1]==b[2]){ result= 1; } } return result; } int isprime(int c){ int flag=1; for(int i=2;i<c;i++){ if(c%i==0){ flag=0; break; } } return flag; } |
Double click to view unformatted code.