[USACO 1.5.3]特殊的质数肋骨
2013-05-10 14:36
323 查看
#include<stdio.h> #include<string.h> #include<math.h> int m; int a[4]={2,3,5,7}; int b[4]={1,3,7,9}; int c[10]; int number; bool visit[101000]; int prime[100000]; int n=100000; int init_prim() { memset(visit,true,sizeof(visit)); int num=0; for(int i=2;i<=n;i++) { if(visit[i]==true) { num++; prime[num]=i; } for(int j=1;(j<=num)&&(i*prime[j]<=n);j++) { visit[i*prime[j]]=false; if(i%prime[j]==0)break; } } return 0; } int num(int k) { number = 0; for(int i=0;i<=k;i++) { number=number*10+c[i]; } for(int i=2;i<sqrt(number+0.5);i++) if(number%prime[i]==0)return 0; return 1; } int pri(int k) { if(k==m) { for(int i=0;i<m;i++) printf("%d",c[i]); printf("\n"); } else if(k==0) { for(int i=0;i<4;i++) { c[k]=a[i]; pri(k+1); } } else { for(int i=0;i<4;i++) { c[k]=b[i]; if(!num(k))continue; pri(k+1); } } return 0; } int main() { init_prim(); while(scanf("%d",&m)!=EOF) { memset(c,0,sizeof(c)); pri(0); } return 0; }
http://www.acmore.net/problem.php?id=1075
相关文章推荐
- USACO1.5.3 Superprime Rib 特殊的质数肋骨【DFS】
- USACO:1.5.3 Superprime Rib 特殊的质数肋骨
- Usaco 1.5.3 特殊的质数肋骨(特殊的质数肋骨)
- JZOJ1255.【USACO题库】1.5.3 Superprime Rib特殊的质数肋骨
- 【USACO 1.5.3】特殊的质数肋骨
- 【USACO1.5.3】特殊的质数肋骨
- [USACO 1.5.3]特殊的质数肋骨
- USACO-1.5.3 Superprime Rib 特殊的质数肋骨
- USACO:1.5.3 Superprime Rib 特殊的质数肋骨
- [USACO 1.5.3]特殊的质数肋骨
- USACO1.5 特殊的质数肋骨 Superprime Rib
- 洛谷P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib
- 【USACO】洛谷1218 特殊的质数肋骨 Superprime Rib
- USACO 特殊的质数肋骨
- [USACO1.5]特殊的质数肋骨 Superprime Rib
- 洛谷P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib
- USACO特殊的质数肋骨题解
- [USACO1.5]特殊的质数肋骨 Superprime Rib-洛谷 1218
- 【洛谷 1218】[USACO1.5]特殊的质数肋骨 Superprime Rib
- 【枚举】洛谷 P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib