进阶21 回文质数

21 回文质数

作者: xxx时间限制: 1S章节: 循环

问题描述 :

因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 号是回文质数。写一个程序来找出范围[a,b](5<= a < b <= 100,000)间的所有回文质数

输入说明 :

仅 1 行: 二个整数 a 和 b(5<= a < b <= 100,000)。

输出说明 :

输出一个回文质数的列表,一行一个。

每行首尾无空格,最后无空行。

输入范例 :
300 500
输出范例 :
313
353
373
383

#include<stdio.h>
#include<math.h>
int zhishu(int a);
int huiwen(int b);
int main(){
   	int a,b,i;
	scanf("%d%d",&a,&b);
	for(i=a;i<=b;i++){
		if(zhishu(i)&&huiwen(i)) 
			printf("%d\n",i);
	}
	return 0;
}
int zhishu(int a){//判断是否是质数
	int j;
	for(j=2;j<=sqrt(a);j++)
			if(a%j==0) return 0;
	return 1;
}
int huiwen(int b){//判断是否是回文数
	int a[6],i=0,j;
	while(b){
		a[i++]=b%10;
		b/=10;
	}
	for(j=0;j<i/2;j++)
		if(a[j]!=a[i-1-j]) return 0;
	return 1;
}
发布了146 篇原创文章 · 获赞 1 · 访问量 502

猜你喜欢

转载自blog.csdn.net/qq_39338091/article/details/105720757