前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NYOJ-----素数环

NYOJ-----素数环

作者头像
Gxjun
发布2018-03-21 13:22:48
5750
发布2018-03-21 13:22:48
举报
文章被收录于专栏:mlml

素数环

时间限制:1000 ms  |           内存限制:65535 KB

难度:2

描述

有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环。

为了简便起见,我们规定每个素数环都从1开始。例如,下图就是6的一个素数环。

输入有多组测试数据,每组输入一个n(0<n<20),n=0表示输入结束。输出每组第一行输出对应的Case序号,从1开始。 如果存在满足题意叙述的素数环,从小到大输出。 否则输出No Answer。样例输入

代码语言:javascript
复制
6
8
3
0

样例输出

代码语言:javascript
复制
Case 1:
1 4 3 2 5 6
1 6 5 2 3 4
Case 2:
1 2 3 8 5 6 7 4
1 2 5 8 3 4 7 6
1 4 7 6 5 8 3 2
1 6 7 4 3 8 5 2
Case 3:
No Answer

来源hdu改编上传者丁国强简单的dfs.....coder:

代码语言:javascript
复制
 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<stdlib.h>
 4 int save[21],ans[21],step,n;
 5 void dfs()
 6 {
 7     int i,k;
 8     if(step==n)
 9     {
10         if(ans[step-1]%2==0&&ans[step-1]!=8&&ans[step-1]!=14)
11         {
12             printf("1");
13             for( k=1;k<n;k++)
14             {
15                 printf(" %d",ans[k]);
16             }
17             /*puts("");*/
18             putchar(10);
19         }
20         return ;
21     }
22     for(i=1;i<n;i++)
23     {
24     if(save[i]!=0)
25     {
26       int temp=ans[step-1]+save[i];
27       if(temp==2||temp==3||temp==5||(temp%2!=0&&temp%3!=0&&temp%5!=0))
28       {
29        int tem=save[i];
30         ans[step++]=tem;
31         save[i]=0;
32         dfs();
33         ans[--step]=0;
34         save[i]=tem;
35       }
36     }
37     }
38 }
39 
40 int main()
41 {
42    int Case=1,i;
43    for( i=0;i<20;i++)
44     {
45         save[i]=i+1;
46     }
47    ans[0]=1;
48   while(scanf("%d",&n),n)
49   {
50 
51     step=1;
52     printf("Case %d:\n",Case++);
53     if(n==1)
54     {
55         printf("1\n");
56         continue;
57     }
58     if(n&1)
59         printf("No Answer\n");
60     else
61      dfs();
62   }
63   return 0;
64 }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-10-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 素数环
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档