#include<bits/stdc++.h>
using namespace std;
int a[999999],b;
bool test(int i){
for(int j=2;j<i;j++) if(i%j==0)return 0;
return 1;
}
void Save(){
ofstream out("回文素数打表.txt");
for(int i=0;i<999999;i++){
out<<a[i]<<"\n";
}
out.close();
}
int main(){
long long d1,d2,d3,d4;
unsigned long long i1;
for (d1 = 1; d1 <= 9; d1+=2) {
i1 = d1;
a[b]=i1;
b++;
cout<<i1<<endl;
}
cout<<"11"<<endl;
for (d1 = 1; d1 <= 9; d1+=2) {
for (d2 = 0; d2 <= 9; d2++) {
i1 = 100*d1 + 10*d2 + d1;
if(test(i1))continue;
a[b]=i1;
b++;
cout<<i1<<endl;
}
}
for (d1 = 1; d1 <= 9; d1+=2) {
for (d2 = 0; d2 <= 9; d2++) {
i1 = 1000*d1 + 100*d2 + 10*d2 + d1;
if(test(i1))continue;
a[b]=i1;
b++;
cout<<i1<<endl;
}
}
for (d1 = 1; d1 <= 9; d1+=2) {
for (d2 = 0; d2 <= 9; d2++) {
for (d3 = 0; d3 <= 9; d3++) {
if(test(i1))continue;
i1 = 10000*d1 + 1000*d2 +100*d3 + 10*d2 + d1;
a[b]=i1;
b++;
cout<<i1<<endl;
}
}
}
for (d1 = 1; d1 <= 9; d1+=2) {
for (d2 = 0; d2 <= 9; d2++) {
for (d3 = 0; d3 <= 9; d3++) {
if(test(i1))continue;
i1 = 100000*d1 + 10000*d2 +1000*d3 +100*d3 + 10*d2 + d1;
a[b]=i1;
b++;
cout<<i1<<endl;
}
}
}
for (d1 = 1; d1 <= 9; d1+=2) {
for (d2 = 0; d2 <= 9; d2++) {
for (d3 = 0; d3 <= 9; d3++) {
for (d4 = 0; d4 <= 9; d4++){
if(test(i1))continue;
i1 = 1000000*d1 + 100000*d2 +10000*d3 +1000*d4 +100*d3 + 10*d2 + d1;
a[b]=i1;
b++;
cout<<i1<<endl;
}
}
}
}
Save();
}
这玩意到10301就停止了,注释掉:
for (d1 = 1; d1 <= 9; d1+=2) {
for (d2 = 0; d2 <= 9; d2++) {
for (d3 = 0; d3 <= 9; d3++) {
if(test(i1))continue;
i1 = 10000*d1 + 1000*d2 +100*d3 + 10*d2 + d1;
a[b]=i1;
b++;
cout<<i1<<endl;
}
}
}
可多运行,各位大佬帮忙康康。