一个环由个圈组成,把自然数1,2,…,N分别放在每一个圆内,数字的在两个相邻圈之和应该是一个素数。 注意:第一圈数应始终为1。

input: N(0~20)

output:输出格式如下所示的样品。每一行表示在环中的一系列圆号码从1开始顺时针和按逆时针方向。编号的顺序必须满足上述要求。打印解决方案的字典顺序。

源代码:

#include<stdio.h>
int a[20]={0},k=0,c,v,mark[20]={0},N;

int solution(int x,int y) //对是否为素数进行判断
{
    c=x+y;
    for(int i=2;i<c;i++)
    {
        v=c%i;
    if(v==0) return 0;
    }
    return 1;
}
void print()
{
    printf("顺时针方向:");
    for(int j=0;j<N;j++)
    {
        printf("%d ",a[j]);

}
    printf("逆时针方向:");
    while(j>=0)
    {
        printf("%d ",a[j]);
        j--;
}
    printf("\n");
}
void dfs(int k)
{
    if(k==N-1) //找到目标值则打印输出
    {
         print();
         return;
    }
    for(int j=2;j<=N;j++)
    {
        if(solution(a[k],j)==1&&!mark[j]) //判断是否标记过,并且满足素数条件
        {mark[j]=1;  //标记已访问
        a[k+1]=j;  //赋值
            dfs(k+1); //递归
            mark[j]=0; //回溯
        }
    }
}
int main()
{a[0]=1;
    scanf("%d",&N);
    dfs(0);
    return 0;
}

一个环由个圈组成,把自然数1,2,…,N分别放在每一个圆内,数字的在两个相邻圈之和应该是一个素数。 注意:第一圈数应始终为1。input: N(0~20)output:输出格式如下所示的样品。相关推荐

  1. Java黑皮书课后题第3章:**3.22(几何:点是否在圆内)编写程序,提示用户输入一个点(x,y),然后检查这个点是否在以(0,0)为圆心、半径为10的圆内

    **3.22(几何:点是否在圆内)编写程序,提示用户输入一个点(x,y),然后检查这个点是否在以(0,0)为圆心.半径为10的圆内 题目 题目概述 课本提示与举例.运行示例 破题 代码 两个浮点数的比 ...

  2. 将两个有序顺序表合并为一个新的有序顺序表

    将两个有序顺序表合并为一个新的有序顺序表 题目要求 基本思想 核心代码 完整代码(C++) 题目要求 将两个有序顺序表合并为一个新的有序顺序表,并由函数返回合并后的顺序表. 基本思想 非常经典的题目, ...

  3. 【C++代码】约瑟夫环问题:0,1,……,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。

    问题描述:0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 这是力扣上的一道题.我的思路: ①首先想到的是用循环链表,每次向后遍历 ...

  4. 【面试题】一个环,有n个点, 问从0点出发,经过k步回到原点有多少种方法

    一.题目描述 一个环,有n个点(编号 0 ~ n-1 ), 问从0点出发,经过k步回到原点(0点)有多少种方法 ? 二.解题思路 & 代码 再回到 0 点可以从右面回来,也可以从左面回来,即先 ...

  5. hdu 3367 Pseudoforest (最大生成树 最多存在一个环)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3367 Pseudoforest Time Limit: 10000/5000 MS (Java/Oth ...

  6. win10配置mysql8.0_Win10下mysql 8.0.20 安装配置方法图文教程

    Win10系统下MySQL 8.0.20安装和配置超详细教程 MySQL下载 MySQL直接去官网下载就行,选择community版本(免费)下载,链接. 在select operating syst ...

  7. js+svg实现的一个环图

    这是在实际项目中碰到的一个功能,首先按每一项的权重分配环占比,在换占比中有自身的一个热度百分比,开始试用过echart插件感觉太复杂,只能自己用svg实现一个,过程中感谢身边同事的指导和万能(恶)的度 ...

  8. Cartopy 0.20 最新功能 —— Cartopy 装不上别慌,内附解决方案

    Cartopy 0.20 最新功能 背景介绍 Cartopy 是英国气象局开发的地图绘图包,实现了 Basemap 的大部分功能,利用了强大的PROJ.4.NumPy和Shapely库,并在Matpl ...

  9. PC微信v3.3.0.20测试版下载

    经常使用微信电脑版的用户都会发现一个蛋疼的事情,那就是微信PC版不支持多开,不支持朋友圈,而今天发布的这个版本免内测资格申请,可直接登录.支持多开,同时可以防撤回消息. 更新日志 2021.05.18 ...

最新文章

  1. 数据库事务的隔离级别简单总结
  2. A % B Problem
  3. java封装的快捷_Fast-boot:针对SpringBoot 封装的一系列的快捷包
  4. Daily Report 2012.11.9 刘宇翔
  5. boost function对象
  6. rsync的安装使用01
  7. CSS属性选择器温故-4
  8. 信息学奥赛一本通C++语言——1054:三角形判断
  9. mysql5.7.17主从_mysql5.7.17主从同步配置
  10. 解决vscode下载慢的问题
  11. python、pygame开发的太空大战游戏源代码,供学习参考
  12. 在mosquitto和Node-Red间使用基于的MQTTS双向认证通讯( 私有CA)
  13. Unity - Timeline 之 Panning and zooming the Clips view(移动与缩放Clip剪辑视图)
  14. surface 部分uwp软件无法联网
  15. 项目经理应该如何提高团队执行力
  16. 求数组中的最大差值或最小差值
  17. ChatGPT专业应用:撰写英文邮件
  18. c语言typedef与函数
  19. 管理类联考——逻辑——真题篇——第二章 翻译
  20. Android 上关于设备唯一标识的调研

热门文章

  1. 国家级专新特精“小巨人”「皖仪科技」携手企企通,打造采购数字化平台成功上线
  2. 《数学之美》选章精读
  3. JAVA中的异步调用
  4. 第155篇 英格兰拍卖
  5. linux platform 设备驱动
  6. CSS入门基础----行内元素、块级元素和行内块元素的特点和转换
  7. 用于安全医疗保健系统的基于机器学习的可伸缩区块链架构
  8. 码农得用专用的Code字体,推荐几款专业级别的程序员专用字体
  9. 服务器构成,分类,操作系统;机械硬盘,固态硬盘,光模块,光纤接口,跳线;计算虚拟化
  10. 在 Windows 下使用 libVLC