题目链接:点击打开链接
#include <stdio.h>
#include <math.h>
int ff(long long x)
{
long long i;
if (x==1) return 0;
for (i=2;i<=sqrt(x);i++)
if (x % i==0) return 0;
return 1;
}
int a[10];
void f(long long s,int n)
{
if (n==0)
{
printf("%lld\n",s);
return;
}
for (int i=0;i<=5;i++)
{
s=s*10+a[i];
if (ff(s))
f(s,n-1);
s/=10;
}
}
int main()
{
int n;
a[0]=2;
for (int i=1;i<=5;i++)
a[i]=i*2-1;
while (~scanf("%d",&n))
{
f(0,n);
}
return 0;
}