题目描述
因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。
写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)间的所有回文质数;
输入
二个整数 a 和 b
输出
输出一个回文质数的列表,一行一个
样例输入
5 500
样例输出
5 7 11 101 131 151 181 191 313 353 373 383
参考代码:
#include<bits/stdc++.h>
using namespace std;
int a,b;
bool f(int x){
if(x<=1)
return false;
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)
return false;
return true;
}
int g(int x){
int s=0;
while(x!=0){
s=s*10+x%10;
x/=10;
}
return s;
}
int main(){
scanf("%d%d",&a,&b);
for(int k=a;k<=b;k++)
if(k==g(k)&&f(k)==true)
printf("%d\n",k);
return 0;
}