24 回文质数
问题描述 :
因为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 testA(int a){ int i; for (i=2;i<a;i++){ if (a%i==0){ return 0; } } return 1; } int testB(int a){ int temp=a,ans=0; while (temp!=0) { ans=ans*10+temp%10; temp/=10; } if (ans==a) return 1; else return 0; } int main(){ int a,b; scanf("%d %d",&a,&b); for(int i = a;i<=b;i++){ if(testA(i)&&testB(i)){ printf("%d\n",i); } } return 0; }

浙公网安备 33010602011771号