南沙C++信奥老师解一本通题:2110:【例5.1】素数环

【题目描述】

输入正整数n,把整数1,2,…,n 组成一个环,使得相邻两个整数之和均为素数。

【输入】

输入正整数n。

【输出】

输出任意一个满足条件的环。

【输入样例】

6

【输出样例】

4 3 2 5 6 1

【提示】

数据满足:

4≤n≤30

#include <bits/stdc++.h>
using namespace std;
int v[31],a[31],n;
bool isPrime(int n)
{for(int i=2;i<=sqrt(n);i++)if(n%i==0)return false;return true;
}
bool isPrimePair(int pos)
{if(pos==1)return isPrime(pos);else if(pos==n)return isPrime(a[1]+a[n]);return isPrime(a[pos-1]+a[pos]);
}
void dfs(int cnt)
{if(cnt>1&&isPrimePair(cnt)==false ) //新填的数不构成素数环,退出 return;if(cnt==n&&isPrimePair(n)){for(int i=1;i<=n;i++)cout<<a[i]<<" ";exit(0); //只需要一种,程序强制退出 }for(int i=1;i<=n;i++){if(v[i]==0 ) //没有被访问且与上一个元素之和相加是素数  {a[cnt+1]=i;v[i]=1; //标记已填过数了 dfs(cnt+1);v[i]=0;// 回溯 }}
}
int main()
{cin>>n;a[1]=1;v[1]=1;dfs(1);return 0;
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/797923.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cisco Jabber 15.0 发布下载 - 面向企业的多合一通信工具

Cisco Jabber 15.0 发布下载 - 面向企业的多合一通信工具Cisco Jabber 15.0 (Andriod, iOS, macOS, Windows) - 面向企业的多合一通信工具 即时消息、语音和视频通话、语音邮件、桌面共享、会议和在线状态 请访问原文链接:https://sysin.org/blog/cisco-jabber-15/,查看最新版…

9.15 比赛总结

突然想起来自己把比赛总结的好习惯忘掉了,所以现在重新拾起,故名曰《朝花夕拾》。T1 出了个大阴间题 看数据范围明显状压。很明显,\(a,b\) 分成两部分处理。 \(f_{s,i}\) 表示状态为 \(s\),\(a=i\) 时的所有情况之和,还要计算 \(num_{s,i}\) 表示此时情况数。 \(b\) 直接递…

读构建可扩展分布式系统:方法与实践05分布式缓存

分布式缓存1. 分布式缓存 1.1. 缓存存在于应用程序的许多地方1.1.1. 行应用程序的CPU具有高速多级硬件缓存,可以减少相对较慢的主内存访问1.1.2. 数据库引擎可以利用主内存来缓存数据存储的内容,这样在许多情况下查询就可以不用访问速度相对较慢的磁盘1.2. 分布式缓存是可扩展…

C#/.NET/.NET Core技术前沿周刊 | 第 5 期(2024年9.9-9.15)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿,推荐或自荐优质文章/项目/学习资源等。…

python-super函数

单继承 在单继承中super主要是用来调用父类的方法的class A:def __init__(self):self.n = 2def add(self, m):print(self is {0} @A.add.format(self))self.n += mclass B(A):def __init__(self):self.n = 3def add(self, m):print(self is {0} @B.add.format(self))super().ad…

百度AI studio克隆失败解决办法

百度AI studio克隆失败解决办法 目前还没办法在其他地方查到问题的解决办法,在此记录一下 具体问题描述 在飞桨AI studio克隆paddle的submodule时,会遇到各种网络导致的问题(开关代理都没有用) 具体的报错包括:失败的尝试 把github链接换成gitee的,但是一些库在gitee没有…

正式发售!《黑神话:悟空》背后的技术力量——UE5与实时云渲染

《黑神话:悟空》终于在8月20号正式发售,相信大家都已经玩起来了!作为国产游戏的画质巅峰之作,《黑神话:悟空》凭借其令人叹为观止的画面质量和游戏体验,赢得了广泛的好评.这一切都离不开游戏背后的强大技术支持——虚幻引擎5(UE5).千呼万唤始出来,《黑神话:悟空》终于在今年…

[JS] ES Modules的运作原理

本文介绍了 ES Modules (ESM) 在浏览器环境中的运行原理,详细阐述了 ESM 的三大加载步骤:构建、实例化、求值,并讨论了其动态加载能力、循环依赖处理方式及与 CommonJS 的区别。ESM 通过 import 语句引入其它依赖,通过 export 语句导出模块成员。 在浏览器环境中,<scri…

Go runtime 调度器精讲(八):sysmon 线程和 goroutine 运行时间过长的抢占

原创文章,欢迎转载,转载请注明出处,谢谢。0. 前言 在 Go runtime 调度器精讲(七):案例分析 一文我们介绍了一个抢占的案例。从案例分析抢占的实现,并未涉及到源码层面。本文将继续从源码入手,看 Go runtime 调度器是如何实现抢占逻辑的。 1. sysmon 线程 还记得 Go run…

Go runtime 调度器精讲(八):sysmon 线程和运行时间过长的抢占

原创文章,欢迎转载,转载请注明出处,谢谢。0. 前言 在 Go runtime 调度器精讲(七):案例分析 一文我们介绍了一个抢占的案例。从案例分析抢占的实现,并未涉及到源码层面。本文将继续从源码入手,看 Go runtime 调度器是如何实现抢占逻辑的。 1. sysmon 线程 还记得 Go run…