Prime Ring Problem
来源:互联网 发布:pc安装mac os x10.9 编辑:程序博客网 时间:2024/06/05 15:10
A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime.
Note: the number of first circle should always be 1.
Note: the number of first circle should always be 1.
You are to write a program that completes above process.
Print a blank line after each case.
68
Case 1:1 4 3 2 5 61 6 5 2 3 4Case 2:1 2 3 8 5 6 7 41 2 5 8 3 4 7 61 4 7 6 5 8 3 21 6 7 4 3 8 5 2
题意:按字典序输出素数环,素数环就是两两相邻的两个数相加 和为素数
#include<cstdio>#include<cmath>#include<cstring>int vis[20];int num[20];int n;int sushu(int x)//判断是否为素数{ int i,k=sqrt(x); for(i=2;i<=k;i++) { if(x%i==0) break; } if(i>k&&x!=1)//1不是素数 return 1; return 0;}void dfs(int index){ if(index==n) { if(sushu(num[index]+num[1]))//输出答案 { for(int i=1;i<n;i++) printf("%d ",num[i]); printf("%d\n",num[n]); } } for(int i=2;i<=n;i++) { if(!vis[i]&&sushu(num[index]+i)) { vis[i]=1; num[index+1]=i;//注意这里自加用index+1; dfs(index+1); vis[i]=0;//回溯回去的时候把标记清除掉 } }}int main(){ int Case=1; while(~scanf("%d",&n)) { memset(vis,0,sizeof(vis)); printf("Case %d:\n",Case++); if(n%2&&n!=1)//n为奇数是不可能存在素数环的,所以可以直接跳过,加速; { printf("\n"); continue; } num[1]=1; dfs(1); printf("\n"); } return 0;}
阅读全文
0 0
- 1016 Prime Ring Problem
- HDOJ1016-Prime Ring Problem
- HDU1016 Prime Ring Problem
- DFS__1195: Prime Ring Problem
- Prime Ring Problem
- 1016:Prime Ring Problem
- 1016 Prime Ring Problem
- HDUOJ1016 Prime Ring Problem
- 1016 Prime Ring Problem
- Prime Ring Problem
- hdu1016 Prime Ring Problem
- Prime Ring Problem(dfs)
- Prime Ring Problem
- Prime Ring Problem
- Prime ring problem
- hdu1016-Prime Ring Problem
- HDU1035 Prime Ring Problem
- 1016Prime Ring Problem
- Dubbo系列-2.环境搭建和入门Demo
- CSS背景属性 尺寸属性 显示属性 定位及选择器
- SQL中char、varchar、nvarchar的区别
- JSP中out.write()和out.print()的区别
- JAVA中的反射机制
- Prime Ring Problem
- Android App支付系列(一):微信支付接入详细指南(附官方支付demo)
- docker-compose安装
- python 适配器模式
- SPOJ
- CSS代码重构与优化之路
- 用Action下载文件
- hibernate一级缓存机制(还有二级)
- javascript 常用的编码格式:escape(), encodeURL(), encodeURIComponent()