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