View Code of Problem 92

	#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.


Back to problem 92