输入样例 1
5 500
输出样例 1
5 7 11 101 131 151 181 191 313 353 373 383
提示
for (d1 = 1; d1 <= 9; d1+=2) { // 只有奇数才会是素数
for (d2 = 0; d2 <= 9; d2++) {
for (d3 = 0; d3 <= 9; d3++) {
palindrome = 10000*d1 + 1000*d2 +100*d3 + 10*d2 + d1;//(处理回文数...)
}
}
}
代码如下
#include<iostream>
using namespace std;
int h[200000],hc=0;
int a,b;
void a1(){
for(int i=1;i<=9;i+=2){
h[hc++]=i;
}
}
void a2(){
for(int i=1;i<=9;i+=2){
h[hc++]=i*10+i;
}
}
void a3(){
for(int i=1;i<=9;i+=2){
for(int j=0;j<=9;j++){
h[hc++]=i*100+j*10+i;
}
}
}
void a4(){
for(int i=1;i<=9;i+=2){
for(int j=0;j<=9;j++){
h[hc++]=i*1000+j*100+j*10+i;
}
}
}
void a5(){
for(int i=1;i<=9;i+=2){
for(int j=0;j<=9;j++){
for(int k=0;k<=9;k++){
h[hc++]=i*10000+j*1000+k*100+j*10+i;
}
}
}
}
void a6(){
for(int i=1;i<=9;i+=2){
for(int j=0;j<=9;j++){
for(int k=0;k<=9;k++){
h[hc++]=i*100000+j*10000+k*1000+k*100+j*10+i;
}
}
}
}
void a7(){
for(int i=1;i<=9;i+=2){
for(int j=0;j<=9;j++){
for(int k=0;k<=9;k++){
for(int e=0;e<=9;e++){
h[hc++]=i*1000000+j*100000+k*10000+e*1000+k*100+j*10+i;
}
}
}
}
}
void a8(){
for(int i=1;i<=9;i+=2){
for(int j=0;j<=9;j++){
for(int k=0;k<=9;k++){
for(int e=0;e<=9;e++){
h[hc++]=i*10000000+j*1000000+k*100000+e*10000+e*1000+k*100+j*10+i;
}
}
}
}
}
bool lkj(int a){
bool f=1;
if(a==1){
f=0;
}else{
for(int i=2;i*i<=a;i++){
if(a%i==0){
f=0;
break;
}
}
return f;
}
}
int main(){
cin>>a>>b;
a1();
a2();
a3();
a4();
a5();
a6();
a7();
a8();
for(int i=0;i<hc;i++){
if(h[i]>=a&&h[i]<=b){
if(lkj(h[i])){
cout<<h[i]<<endl;
}
}
}
}