打表代码如下!(配合Freopen食用更佳)
// P1217
#include <iostream>
using namespace std;
bool prime(long long a){
if ((a % 2 != 0 && a != 1) || a == 2){
for (int i = 3;i <= a / 2;i++){
if (a % i == 0){
return false;
}
}
return true;
}
return false;
}
int main(){
//一位
cout << 5 << '\n' << 7 << endl;
//两位
cout << 11 << endl;
//三位
for (int d1 = 1; d1 <= 9; d1 += 2) {
for (int d2 = 0; d2 <= 9; d2++) {
if (prime(100 * d1 + 10 * d2 + d1)){
cout << 100 * d1 + 10 * d2 + d1 << endl;
}
}
}
//五位
for (int d1 = 1; d1 <= 9; d1+=2) {
for (int d2 = 0; d2 <= 9; d2++) {
for (int d3 = 0; d3 <= 9; d3++) {
if (prime(10000 * d1 + 1000 * d2 +100 * d3 + 10 * d2 + d1)){
cout << 10000 * d1 + 1000 * d2 +100 * d3 + 10 * d2 + d1 << endl;
}
}
}
}
//七位
for (int d1 = 1; d1 <= 9; d1+=2) {
for (int d2 = 0; d2 <= 9; d2++) {
for (int d3 = 0; d3 <= 9; d3++) {
for (int d4 = 0; d4 <= 9; d4++) {
if (prime(1000000 * d1 + 100000 * d2 + 10000 * d3 + 1000 * d4 + 100 * d3 + 10 * d2 + d1)){
cout << 1000000 * d1 + 100000 * d2 + 10000 * d3 + 1000 * d4 + 100 * d3 + 10 * d2 + d1 << endl;
}
}
}
}
}
//八位
for (int d1 = 1; d1 <= 9; d1+=2) {
for (int d2 = 0; d2 <= 9; d2++) {
for (int d3 = 0; d3 <= 9; d3++) {
for (int d4 = 0; d4 <= 9; d4++) {
if (prime(10000000 * d1 + 1000000 * d2 + 100000 * d3 + 10000 * d4 + 1000 * d4 + 100 * d3 + 10 * d2 + d1)){
cout << 10000000 * d1 + 1000000 * d2 + 100000 * d3 + 10000 * d4 + 1000 * d4 + 100 * d3 + 10 * d2 + d1 << endl;
}
}
}
}
}
// //九位
// for (int d1 = 1; d1 <= 9; d1+=2) {
// for (int d2 = 0; d2 <= 9; d2++) {
// for (int d3 = 0; d3 <= 9; d3++) {
// for (int d4 = 0; d4 <= 9; d4++) {
// for (int d5 = 0;d5 <= 9;d5++){
// if (prime(10000000 * d1 + 1000000 * d2 + 100000 * d3 + 10000 * d4 + 1000 * d5 + 100 * d3 + 10 * d2 + d1)){
// cout << 10000000 * d1 + 1000000 * d2 + 100000 * d3 + 10000 * d4 + 1000 * d5 + 100 * d3 + 10 * d2 + d1 << endl;
// }
// }
// }
// }
// }
// }
}
不小心把九位的写出来了。。。