没有想到什么好的方法,觉得dfs+米勒罗宾素性测试应该差不多,不过我还是开了一亿的素数表,然后..........打表.............
code:
/*
ID: yueqiq
LANG: C++
TASK: sprime
*/
#include <set>
#include <map>
#include <ctime>
#include <queue>
#include <cmath>
#include <stack>
#include <limits>
#include <vector>
#include <bitset>
#include <string>
#include <cstdio>
#include <cstring>
#include <fstream>
#include <string.h>
#include <iostream>
#include <algorithm>
#define ls rt<<1
#define rs rt<<1|1
#define Si set<int>
#define LL long long
#define pb push_back
#define PS printf(" ")
#define Vi vector<int>
#define LN printf("\n")
#define SD(a) scanf("%d",&a)
#define PD(a) printf("%d",a)
#define SET(a,b) memset(a,b,sizeof(a))
#define FF(i,a) for(int i(0);i<(a);i++)
#define FD(i,a) for(int i(a);i>=(1);i--)
#define FOR(i,a,b) for(int i(a);i<=(b);i++)
#define FOD(i,a,b) for(int i(a);i>=(b);i--)
#define readf freopen("sprime.in","r",stdin)
#define writef freopen("sprime.out","w",stdout)
const double pi = acos(-1.0);
const int maxn = 1001;
const int BigP = 99999999;
const int INF = 99999999;
const int dx[]={0,1,0,-1};
const int dy[]={1,0,-1,0};
using namespace std;
int a[9][20];
int main(){
readf;
writef;
a[1][0]=4;
a[1][1]=2;
a[1][2]=3;
a[1][3]=5;
a[1][4]=7;
a[2][0]=9;
a[2][1]=23;
a[2][2]=29;
a[2][3]=31;
a[2][4]=37;
a[2][5]=53;
a[2][6]=59;
a[2][7]=71;
a[2][8]=73;
a[2][9]=79;
a[3][0]=14;
a[3][1]=233;
a[3][2]=239;
a[3][3]=293;
a[3][4]=311;
a[3][5]=313;
a[3][6]=317;
a[3][7]=373;
a[3][8]=379;
a[3][9]=593;
a[3][10]=599;
a[3][11]=719;
a[3][12]=733;
a[3][13]=739;
a[3][14]=797;
a[4][0]=16;
a[4][1]=2333;
a[4][2]=2339;
a[4][3]=2393;
a[4][4]=2399;
a[4][5]=2939;
a[4][6]=3119;
a[4][7]=3137;
a[4][8]=3733;
a[4][9]=3739;
a[4][10]=3793;
a[4][11]=3797;
a[4][12]=5939;
a[4][13]=7193;
a[4][14]=7331;
a[4][15]=7333;
a[4][16]=7393;
a[5][0]=15;
a[5][1]=23333;
a[5][2]=23339;
a[5][3]=23399;
a[5][4]=23993;
a[5][5]=29399;
a[5][6]=31193;
a[5][7]=31379;
a[5][8]=37337;
a[5][9]=37339;
a[5][10]=37397;
a[5][11]=59393;
a[5][12]=59399;
a[5][13]=71933;
a[5][14]=73331;
a[5][15]=73939;
a[6][0]=12;
a[6][1]=233993;
a[6][2]=239933;
a[6][3]=293999;
a[6][4]=373379;
a[6][5]=373393;
a[6][6]=593933;
a[6][7]=593993;
a[6][8]=719333;
a[6][9]=739391;
a[6][10]=739393;
a[6][11]=739397;
a[6][12]=739399;
a[7][0]=8;
a[7][1]=2339933;
a[7][2]=2399333;
a[7][3]=2939999;
a[7][4]=3733799;
a[7][5]=5939333;
a[7][6]=7393913;
a[7][7]=7393931;
a[7][8]=7393933;
a[8][0]=5;
a[8][1]=23399339;
a[8][2]=29399999;
a[8][3]=37337999;
a[8][4]=59393339;
a[8][5]=73939133;
int N;
SD(N);
FOR(i,1,a[N][0]){
PD(a[N][i]);LN;
}
return 0;
}