/*
ID :
LANG: C++11
TASK: sprime
*/
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int N;
bool judgePrime(int n){
int bound = sqrt(n);
if (n < 2)
return false;
for(int i = 2; i <= bound; i ++){
if(n % i == 0){
return false;
}
}
return true;
}
void generate(int num, int n){
for (int i = 0; i < 10; i ++){
num = num * 10 + i;
if (judgePrime(num)){
if (n == N)
printf("%d\n", num);
else
generate(num, n + 1);
}
num = (num - i) / 10;
}
}
int main() {
freopen("sprime.in", "r", stdin);
freopen("sprime.out", "w", stdout);
cin >> N;
generate(0, 1);
return 0;
}
【USACO】Superprime Rib
最新推荐文章于 2023-02-25 17:03:03 发布