View Code of Problem 92

#include<stdio.h>
#include<math.h>
//m~n之间的回文素数,每个数占6位,每行限输出5个

huiwen(int n){
	int i,p,q=0;
	p=n;
	while(n>0){
		q=q*10+n%10;
		n=n/10;
	}
	if(q==p)
		return 1; //是回文数
	else
		return 0; // 不是
}

isPrime(int n){
	int m,i;
	m=sqrt(n);
	for(i=2;i<=m;i++){
		if(n%i==0)
			return 0; //不是素数
	}
	return 1; //是素数
}

int main(){
	int m,n,num=0;
	int a[1000];
	scanf("%d %d",&m,&n);
	for(;m<=n;m++){
		if(huiwen(m)&&isPrime(m)){
			printf("%6d",m);
			num++;
			if(num%5==0)
				printf("\n");
		}		
	}	
	printf("\n");
}

Double click to view unformatted code.


Back to problem 92