一个环由个圈组成,把自然数1,2,…,N分别放在每一个圆内,数字的在两个相邻圈之和应该是一个素数。 注意:第一圈数应始终为1。input: N(0~20)output:输出格式如下所示的样品。
一个环由个圈组成,把自然数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:输出格式如下所示的样品。相关推荐
- Java黑皮书课后题第3章:**3.22(几何:点是否在圆内)编写程序,提示用户输入一个点(x,y),然后检查这个点是否在以(0,0)为圆心、半径为10的圆内
**3.22(几何:点是否在圆内)编写程序,提示用户输入一个点(x,y),然后检查这个点是否在以(0,0)为圆心.半径为10的圆内 题目 题目概述 课本提示与举例.运行示例 破题 代码 两个浮点数的比 ...
- 将两个有序顺序表合并为一个新的有序顺序表
将两个有序顺序表合并为一个新的有序顺序表 题目要求 基本思想 核心代码 完整代码(C++) 题目要求 将两个有序顺序表合并为一个新的有序顺序表,并由函数返回合并后的顺序表. 基本思想 非常经典的题目, ...
- 【C++代码】约瑟夫环问题:0,1,……,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。
问题描述:0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 这是力扣上的一道题.我的思路: ①首先想到的是用循环链表,每次向后遍历 ...
- 【面试题】一个环,有n个点, 问从0点出发,经过k步回到原点有多少种方法
一.题目描述 一个环,有n个点(编号 0 ~ n-1 ), 问从0点出发,经过k步回到原点(0点)有多少种方法 ? 二.解题思路 & 代码 再回到 0 点可以从右面回来,也可以从左面回来,即先 ...
- hdu 3367 Pseudoforest (最大生成树 最多存在一个环)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3367 Pseudoforest Time Limit: 10000/5000 MS (Java/Oth ...
- win10配置mysql8.0_Win10下mysql 8.0.20 安装配置方法图文教程
Win10系统下MySQL 8.0.20安装和配置超详细教程 MySQL下载 MySQL直接去官网下载就行,选择community版本(免费)下载,链接. 在select operating syst ...
- js+svg实现的一个环图
这是在实际项目中碰到的一个功能,首先按每一项的权重分配环占比,在换占比中有自身的一个热度百分比,开始试用过echart插件感觉太复杂,只能自己用svg实现一个,过程中感谢身边同事的指导和万能(恶)的度 ...
- Cartopy 0.20 最新功能 —— Cartopy 装不上别慌,内附解决方案
Cartopy 0.20 最新功能 背景介绍 Cartopy 是英国气象局开发的地图绘图包,实现了 Basemap 的大部分功能,利用了强大的PROJ.4.NumPy和Shapely库,并在Matpl ...
- PC微信v3.3.0.20测试版下载
经常使用微信电脑版的用户都会发现一个蛋疼的事情,那就是微信PC版不支持多开,不支持朋友圈,而今天发布的这个版本免内测资格申请,可直接登录.支持多开,同时可以防撤回消息. 更新日志 2021.05.18 ...
最新文章
- 数据库事务的隔离级别简单总结
- A % B Problem
- java封装的快捷_Fast-boot:针对SpringBoot 封装的一系列的快捷包
- Daily Report 2012.11.9 刘宇翔
- boost function对象
- rsync的安装使用01
- CSS属性选择器温故-4
- 信息学奥赛一本通C++语言——1054:三角形判断
- mysql5.7.17主从_mysql5.7.17主从同步配置
- 解决vscode下载慢的问题
- python、pygame开发的太空大战游戏源代码,供学习参考
- 在mosquitto和Node-Red间使用基于的MQTTS双向认证通讯( 私有CA)
- Unity - Timeline 之 Panning and zooming the Clips view(移动与缩放Clip剪辑视图)
- surface 部分uwp软件无法联网
- 项目经理应该如何提高团队执行力
- 求数组中的最大差值或最小差值
- ChatGPT专业应用:撰写英文邮件
- c语言typedef与函数
- 管理类联考——逻辑——真题篇——第二章 翻译
- Android 上关于设备唯一标识的调研