素数环

2023-11-15

昨天晚上,突然想读刘汝佳老师书中的例题,素数环,但是突然自己就有了思路,于是便自己实现了一下。但是,由于昨晚时间比较晚,程序是写完了,但是没调试出来,今天一大早就开始调试,花了半小时终于调试出来了,好开心!

中心思想是:回溯

上代码:

#include<iostream>
#include<math.h>
using namespace std;
int visit[17]; //注意0号位置的存储位置不使用 
int m;  //存储的是输入的参变量 
int frq[17];
bool judePrime(int n); //判断是否是素数
bool dfs(int n);//使用深度优先遍历的方法进行查看 
int main(){
	int n=1;  //标志着填写到frq的哪一位 
	cout << "请输入m的值";
	cin >> m; 
	frq[n] = 1; 
	visit[n] = 1; //标志着1号位置已经被访问 
	dfs(2);
	
}

bool dfs(int n){ //注意n第一次进来的时候必须是2 
	if (n > m){
		for (int i=1; i<=m; i++){
			cout<<frq[i]; 
		}
		cout << endl;
		return true;
	}
	
	for (int i=2; i<=m; i++){ //每个位置都有可能是2-m上的数字 
		int temp = i + frq[n-1];
		if (i!=m && visit[i]==0){ //当 i不是最后一个元素,并且i没有被访问过 
 			if (judePrime(temp)){ //如果是素数 
				frq[n] = i;
				visit[i] = 1; //标志其已经被访问过
				n++;
				dfs(n);
				--n;
				frq[n] = 0;
				visit[i] = 0;
			}
		}else if(i==m && visit[i]==0){
				int temp2 =  i + frq[1];
				if (judePrime(temp) && judePrime(temp2)){ //因为所有的数围成的是一个环,所以
				//当填写到最后一个数的时候,要判断和第一个数相加是否满足和为素数 
					frq[n] = i;
					visit[i] = 1;
					n++;
					dfs(n);
					--n;
					frq[n] = 0;
					visit[i] = 0;
				}
			}
		
	}
} 
bool judePrime(int n){ //判断一个数是否是素数 
	int temp =sqrt(n);  
	for (int i=2;  i<=temp; i++){
		if (n%i ==0){
			return false;
		}
	}
	return true;
}



 


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

素数环 的相关文章

  • 用MSYS2安装mingw

    文章目录 前言 卸载mingw 安装MSYS2 前言 安装MSYS2的原因是 在windows安装protobuf时 想用mingw编译protobuf的库 而protobuf的官方手册只给出一句 To build from source
  • IDEA常用快捷键

    Intellij IDEA常用快捷键 Ctrl E 显示最近修改的文件列表 Ctrl Shift Backspace Ctrl alt 左右方向键 跳转到上次编辑的地方 Ctrl F12 可以显示当前文件的结构 Ctrl Shift Ins
  • 【ICKIM 2022】第四届知识与信息管理国际会议

    2022 知识与信息管理国际会议 ICKIM 2022 第四届国际知识与信息管理会议 作为WSSE的研讨会 将于2022年9月28日至30日在厦门举行 一 会议出版 会议被接收的文章将出版到ACM 会议论文集 ISBN 978 1 4503
  • mybatis中的options注解

    mybatis的 Options注解能够设置缓存时间 能够为对象生成自增的key 场景 一个表id 主键 设置为自增 而当我们需要在dao层插入数据的时候立刻获取到该自动生成的id 实现 如下 Insert insert into inst
  • 内存检测工具Dr.Memory在Windows上的使用

    之前在https blog csdn net fengbingchun article details 51626705 中介绍过Dr Memory 那时在Windows上还不支持x64 最新的版本对x64已有了支持 这里再总结下 Dr M
  • 抽象工厂方法

    在工厂方法中 我们可以很方便的创建一个产品继承结构下的多个产品 那么考虑这么一种情况 我们需要在工厂中创建多个不同继承结构的产品 例如皮肤库 包含按钮 文本框 选择框等多个不同的元素 Spring皮肤库包含了一组相似的按钮 文本框 选择框
  • Window10手把手带你YOLOV5的火焰烟雾检测+tensorrt量化加速+C++动态库打包

    目录 0 引言 1 yolov5模型训练 1 2 模型训练 1 3 模型测试 2 模型转换 2 1 pt wts engine 2 1 1 pt转wts 2 1 2 wts转engine 3 动态库打包 0 引言 本人配置 win10 py
  • 简单实现点击el-tab-pane中的子组件按钮切换el-tabs

    简单实现点击el tab pane中的子组件按钮切换el tabs 实现效果 点击单条查看详细信息 实现跳转到详细信息面板 实现步骤 1 在父组件中声明函数 二 在要实现点击跳转的子组件中设置点击事件 主要的原理就是 tabs组件的面板激活
  • python笔记5-循环for和while

    1 for 获取列表中的项 for name in Christopher Susan print name name为变量 in后面的是循环列表 for会自动遍历列表 输出结果 Christopher Susan 指定循环次数 for i
  • WEB架构师成长之路之3:要懂哪些知识

    Web架构师究竟都要学些什么 具备哪些能力呢 先网上查查架构师的大概的定义 参见架构师修炼之道这篇文章 写的还不错 再查查公司招聘Web架构师的要求 总结起来大概有下面几点技能要求 一 架构师有优秀的编码能力 解决开发人员无法解决的难题 二
  • 伽罗华有限域的FEC

    FEC算法 cloudfly cn的博客 CSDN博客 fec算法 I 基于IP的语音和视频通话业务为了实时性 一般都是采用UDP进行传输 基站无线一般配置UM模式的RLC承载 因此丢包是不可避免的 在小区信号的边沿则丢包率会更高 为了通话
  • CloudCompare学习笔记(一)-- 界面初识

    本人也是cc纯小白 博客只用来记录学习内容和一些不懂的地方 如有错误还望指正 一 主界面 CC的界面大致可以分为以下几块 中间部分 1 DB Tree 打开的文件或者创建的实体都会存放在这里 2 Properties 选择的文件的属性 在打
  • c++函数为什么带imp_算法

    算法数学之美 日期 2018年1月13日 正文共 2779字3图 预计阅读时间 7分钟 来源 周平 最近网易云课堂开放了一节叫Linux内核分析的课程 一直对操作系统和计算机本质很感兴趣 于是进去看了下 才第一堂课 老师就要求学生写一篇关于
  • 【C++】模板进阶--类模板特化

    这篇博客可参照我的上篇博客模板初阶 中讲的函数模板和类模板的内容 一起学习 本节内容 非类型模板参数 类模板的特化 1 非类型模板参数 模板参数分 类型形参与非类型形参 类型形参 出现在模板参数列表中 跟在class或typename之类的
  • 记录QString的StartsWith()错误使用引发的问题

    一 问题现象 在QT开发的即时通信软件中发送图片看不到缩略图和原图 二 解决方法 在下载图片时会去检擦图片URL开头的服务器地址是否正确 使用了startsWith 去判断 但是这个函数在fileServerUrl为空的情况下也会返回tru
  • git push origin与git push -u origin master的区别

    git push origin 上面命令表示 将当前分支推送到origin主机的对应分支 如果当前分支只有一个追踪分支 那么主机名都可以省略 git push 如果当前分支与多个主机存在追踪关系 那么这个时候 u选项会指定一个默认主机 这样
  • 什么是区块链?

    原文出处 https mp weixin qq com s uzPoQBVkEy WVVS 1DFDoA 在今天 无论商业圈 科技圈还是金融圈 最热的词汇无非只有一个 那就是 区块链 我是黑马程序员的 无崖子 老师 下面我来介绍一下区块链的
  • Sentinel做服务熔断与限流,服务能被监控,但是监控列表为空的问题思考

    首先我觉得 服务和Sentinel不在同一台机器上面 本身是能够正常监控的 只要保证两台机器能够在一个内网中 能够互相连通即可 我在学习Sentinel的时候 我盲目使用云服务器的docker拉取Sentinel镜像 但是我开启了服务后 服

随机推荐

  • CV学习笔记 — 数据集预处理常用脚本总结

    笔者在学习计算机视觉时 需要经常借助脚本对数据集进行预处理 现将常用的脚本总结如下 1 批量修改文件后缀名 批量修改 import os import sys 需要修改后缀的文件目录 os chdir r H 葡萄 datasets JPE
  • 17.subplot():绘制网格区域中的几何形状相同的子区布局

    文章目录 1 函数subplot 的使用方法 2 在极坐标轴上绘制折线图 3 在极坐标轴上绘制散点图 4 在非等分画布的绘图区域上实现图形展示 subplot C R P 表示在C行R列的网格布局上 子区subplot 会被放置到第p个位置
  • 如何用Python提升未来竞争力?十年工作经验老程序员来告诉你。一般人我都不告诉他

    今年很多人在问一个问题 到底什么才是抗风险能力 稳定的工作 存款 理财 有人预测 到2030年 今天一半的工作岗位都将消失 关于哪些工作最先消失 李开复提出过 五秒钟准则 一项工作如果可以在5秒钟内作出相应决定 那就非常可能被人工智能取代
  • 【iOS】【最新】2023苹果开发者账号注册流程(公司类型)

    一 Apple Developer 申请开发者账号 Apple Developer 点击 Account 创建 Apple ID 最好新注册一个新的 专门用做开发 需要注意的是 开发者的名字和 ID 想好在填写 注册成功后 不能自己修改 需
  • Netty网络编程(一):初步了解

    文章目录 简介 netty介绍 netty的第一个服务器 netty的第一个客户端 运行服务器和客户端 总结 简介 我们常用浏览器来访问web页面得到相关的信息 通常来说使用的都是HTTP或者HTTPS协议 这些协议的本质上都是IO 客户端
  • Javaweb的request请求

    1请求数据 request getMethod 获取请求方法 request getContextPath 获取虚拟路径 request getRequestURI 获取url String类型 request getRequestURL
  • Linux环境下安装Hadoop(完全分布式)

    切换到安装目录 解压Hadoop压缩包 修改软件名称 hadoop配置 切换目录 将以下配置文件放在usr app hadoop2 7 3 etc hadoop 目录下 这里 的文件是老师配好的 配置hadoop环境 让hadoop环境配置
  • msvcp120.dll丢失的解决方法?哪种解决方法比较推荐?

    关于msvcp120 dll丢失的解决方法这个问题 小编最近也经常看到有人在提问 可能这是一个比较容易丢失的文件 小编就来给大家详细的分析一下 说说它的三种解决方法 方便大家以后遇到这种问题 自己知道怎么处理 msvcp120 dll丢失的
  • mc服务器server文件夹位置,MC server.properties文件详解

    注 这里true为开启 false为关闭 Minecraft server properties 标题注释 Wed Sep 05 19 27 44 CST 2018 保存时间 spawn protection 16 设置为0将不会禁用出生点
  • Innovus/Encounter时序报告解读

    最近在学report timing这个命令 发现自己对timing report的认知只停留在看slack和delay数值上 于是 决定研究一下这个report Innovus Encounter的report格式确实有点不按套路出牌 初看
  • Es中索引的删除操作

    package com atguigu es test import org apache http HttpHost import org elasticsearch action admin indices delete DeleteI
  • Unity Android 安装apk后显示两个app的问题

    简介 前些天使用Unity打Android包的时候 安装到手机上 出现了两个icon一样的引用 分别点开后 启动的application不一致 原因 在项目中接入了一些SDK SDK的AndroidManifest文件中有个Applicat
  • webpack之引入css

    前言 本文演示了如何打包css文件 涉及到的loader css loader style loader css loader的任务 把css文件作为模块打包 style loader的任务 把打包好的css文件动态的插入到html文件的
  • js中获取token的函数

    1 从cookies获取 从Cookies中获取token function getToken var strcookie document cookie 获取cookie字符串 var arrcookie strcookie split
  • 功能安全专题之功能安全概念阶段

    目录 前言 1 基本概念 1 1 相关项定义 Item Definition 1 2 相关项的构成 1 3 危害分析与风险识别 Hazard Analysis Risk Assessment 1 4 危害与危害事件 Hazard and H
  • Mysql进阶四:常见函数-流程控制函数

    进阶四 流程控制函数 作者 alicomon 寄语读者 博客为学习记录 目的有二 记录知识点 方便温故知新 为读者提供帮助 用于交流 共同提高 流程控制函数 可好玩了 1 if函数 if else 函数 SELECT IF 10 gt 5
  • k8s之三、pod 生命周期/ 探针/ 调度策略/ 副本ReplicaSet / 控制器Deployment

    pod 生命周期官方文档 https kubernetes io zh cn docs concepts workloads pods pod lifecycle 一 容器初始化 创建当前pod容器前 先创建 依赖的其他 container
  • python打包后打开闪退问题解决方法总结

    最近写了一个python项目 今天打包后却发现没有反应 查了一些资料说在程序最后加一个input输入语句可以停留在这里 查看看到报错原因 我加了input语句之后执行下面指令进行打包 pyinstaller F hidden import
  • 整型有哪几种形式?各种形式有什么区别?

    整型有哪几种形式 C 中提供的整数类型有三种 int long short 每种类型又分为有符号和无符号两种类型 有符号整数既可以表示非负整数 又可以表示负整数 但是 无符号整数不能表示负数 只能表示非负整数 一 无符号整数 在内存中 in
  • 素数环

    昨天晚上 突然想读刘汝佳老师书中的例题 素数环 但是突然自己就有了思路 于是便自己实现了一下 但是 由于昨晚时间比较晚 程序是写完了 但是没调试出来 今天一大早就开始调试 花了半小时终于调试出来了 好开心 中心思想是 回溯 上代码 incl