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