#include<stdio.h>
#include<math.h>
int n;
int k(int a)
{ int i,m;
switch(a){
case 1:return 1;break;
case 2:return 0;break;
}
m=(int)sqrt(a);
for(i=2;i<=m;i++)
if(a%i==0)
return 1;
return 0;
}
void dfs(int number,int d)
{
if(d>n)
return;
if(k(number)==0)
if(d==n)
printf("%d\n",number);
else
{
dfs(number*10+1,d+1);
dfs(number*10+3,d+1);
dfs(number*10+5,d+1);
dfs(number*10+7,d+1);
dfs(number*10+9,d+1);
}
else
return;
}
int main(){
freopen("sprime.in","r",stdin);
freopen("sprime.out","w",stdout);
scanf("%d",&n);
dfs(1,1);
dfs(2,1);dfs(3,1);
dfs(4,1);dfs(5,1);
dfs(6,1);dfs(7,1);
dfs(8,1);dfs(9,1);
return 0;
}
USACO1.5:sprime
最新推荐文章于 2020-01-31 12:23:32 发布