当前位置: 首页 > news >正文

蓝桥杯备赛 Day14 素数环

信息学奥赛一本通(C++版)在线评测系统

【题目描述】

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

【输入】

输入正整数nn。

【输出】

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

【输入样例】

6

【输出样例】

4 3 2 5 6 1

【提示】

数据满足:

4≤n≤30

#include<iostream>
#include<cmath>
using namespace std;int n;
bool vis[110];
int cnt[110];
bool flag = false;//先假装搜不到bool isPrime(int x) {if (x < 2) return false;for (int i = 2; i <= sqrt(x); i++) {if (x % i == 0) return false;} return true;
}void dfs(int depth) {//7.终止条件if (depth > n) {//前n层已经搜完了if (!isPrime(cnt[depth - 1] + cnt[1])) return;for (int i = 1; i < depth; i++) {cout << cnt[i] << " ";}cout << endl;flag = true;return;}//1.枚举方案for (int i = 1; i <= n; i++) {//	2.判断标记if ((depth == 1 && !vis[i]) || (depth > 1 && !vis[i] && isPrime(i + cnt[depth - 1]))) {//	3.搜索cnt[depth] = i;//	4.标记 - 防止重复搜索vis[i] = 1;//	5.进入下一层搜索dfs(depth + 1);//	6.回溯vis[i] = 0;if (flag == true) return;}}
}int main() {cin >> n;dfs(1);return 0;
}

优化

#include<iostream>
#include<cmath>
using namespace std;int n;
bool vis[110];
int cnt[110];
bool flag = false;//先假装搜不到//bool isPrime(int x) {
//	if (x < 2) return false;
//	for (int i = 2; i <= sqrt(x); i++) {
//		if (x % i == 0) return false;
//	} return true;
//}bool isPrime[110];//标记素数   isPrime[x]=0/1   0-x是素数  1-x不是素数
//埃氏筛原理:将素数的倍数全部筛掉,留下的就是素数
void E_sieve(int n) {isPrime[0] = isPrime[1] = 1;//0和1不是素数for (int i = 2; i * i <= n; i++) {if (isPrime[i] == 0) {//代表i是素数for (int j = i * i; j <= n; j += i) {//j代表i的所有倍数(n以内)isPrime[j] = 1;//j一定不是素数}}}
}void dfs(int depth) {//7.终止条件if (depth > n) {//前n层已经搜完了if (isPrime[cnt[depth - 1] + cnt[1]]) return;for (int i = 1; i < depth; i++) {printf("%d ", cnt[i]);}cout << endl;flag = true;return;}//1.枚举方案for (int i = 1; i <= n; i++) {//	2.判断标记if ((depth == 1 && !vis[i]) || (depth > 1 && !vis[i] && !isPrime[i + cnt[depth - 1]])) {//	3.搜索cnt[depth] = i;//	4.标记 - 防止重复搜索vis[i] = 1;//	5.进入下一层搜索dfs(depth + 1);//	6.回溯vis[i] = 0;if (flag == true) return;}}
}int main() {cin >> n;E_sieve(2*n);//最大要筛n+n-1,dfs(1);return 0;
}

相关文章:

蓝桥杯备赛 Day14 素数环

信息学奥赛一本通&#xff08;C版&#xff09;在线评测系统 【题目描述】 输入正整数nn&#xff0c;把整数11,22,…,nn 组成一个环&#xff0c;使得相邻两个整数之和均为素数。 【输入】 输入正整数nn。 【输出】 输出任意一个满足条件的环。 【输入样例】 6 【输出样例】 …...

小程序canvas2d实现横版全屏和竖版逐字的签名组件(字帖式米字格签名组件)

文章标题 01 功能说明02 效果预览2.1 横版2.2 竖版 03 使用方式04 横向签名组件源码4.1 html 代码4.2 业务 Js4.3 样式 Css 05 竖向签名组件源码5.1 布局 Html5.2 业务 Js5.3 样式 Css 01 功能说明 技术栈&#xff1a;uniapp、vue、canvas 2d 需求&#xff1a; 实现横版的全…...

haproxy详解笔记

一、概述 HAProxy&#xff08;High Availability Proxy&#xff09;是一款开源的高性能 TCP/HTTP 负载均衡器和代理服务器&#xff0c;用于将大量并发连接分发到多个服务器上&#xff0c;从而提高系统的可用性和负载能力。它支持多种负载均衡算法&#xff0c;能够根据服务器的…...

SpringCloud框架下的注册中心比较:Eureka与Consul的实战解析

摘要 在探讨SpringCloud框架中的两种注册中心之前&#xff0c;有必要回顾单体架构与分布式架构的特点。单体架构将所有业务功能集成在一个项目中&#xff0c;优点是架构简单、部署成本低&#xff0c;但耦合度高。分布式架构则根据业务功能对系统进行拆分&#xff0c;每个模块作…...

前端调用串口通信

项目录结构 node项目 1&#xff09; 安装serialport npm install serialport 2&#xff09;编写index.js 1 const SerialPort require(serialport); 2 var senddata [0x02];//串口索要发送的数据源 3 var port new SerialPort(COM3);//连接串口COM3 4 port.on(open, fun…...

23、深度学习-自学之路-激活函数relu、tanh、sigmoid、softmax函数的正向传播和反向梯度。

在使用这个非线性激活函数的时候&#xff0c;其实我们重点还是学习的是他们的正向怎么传播&#xff0c;以及反向怎么传递的。 如下图所示&#xff1a; 第一&#xff1a;relu函数的正向传播函数是&#xff1a;当输入值&#xff08;隐藏层&#xff09;值大于了&#xff0c;就输出…...

《8天入门Trustzone/TEE/安全架构》

CSDN学院课程连接&#xff1a;https://edu.csdn.net/course/detail/39573...

计算机视觉中图像的基础认知

一、图像/视频的基本属性 在计算机视觉中&#xff0c;图像和视频的本质是多维数值矩阵。图像或视频数据的一些基本属性。 宽度&#xff08;W&#xff09; 和 高度&#xff08;H&#xff09; 定义了图像的像素分辨率&#xff0c;单位通常是像素。例如&#xff0c;一张 1920x10…...

MYSQL的管理备份

一、系统数据库 mysql数据库安装完成后,自带了四个数据库,具体作用如下: mysql:存储MySQL服务器正常运行所需的各种信息(时区、主从、用户、权限等); information_schema:提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类型及访问权限等; performanc…...

数据仓库与数据挖掘记录 三

数据仓库的数据存储和处理 数据的ETL过程 数据 ETL 是用来实现异构数据源的数据集成,即完成数据的抓取/抽取、清洗、转换 .加载与索引等数据调和工作,如图 2. 2 所示。 1&#xff09;数据提取&#xff08;Extract&#xff09; 从多个数据源中获取原始数据&#xff08;如数据…...

第12周:LSTM(火灾温度)

1.库以及数据的导入 1.1库的导入 import torch.nn.functional as F import numpy as np import pandas as pd import torch from torch import nn1.2数据集的导入 data pd.read_csv("woodpine2.csv")dataTimeTem1CO 1Soot 100.00025.00.0000000.00000010.22825.…...

MySQL的SQL执行流程

项目查询数据库的流程 用户通过Tomcat服务器发送请求到MySQL数据库的过程。 用户发起请求&#xff1a;用户通过浏览器或其他客户端向Tomcat服务器发送HTTP请求。 Tomcat服务器处理请求&#xff1a; Tomcat服务器接收用户的请求&#xff0c;并创建一个线程来处理这个请求。 线…...

Foundation CSS 可见性

Foundation CSS 可见性 引言 在网页设计中,CSS可见性是一个至关重要的概念。它决定了元素在网页上是否可见,以及如何显示。Foundation CSS 是一个流行的前端框架,它提供了丰富的工具和组件来帮助开发者构建响应式和可访问的网页。本文将深入探讨 Foundation CSS 中的可见性…...

7. Docker 容器数据卷的使用(超详细的讲解说明)

7. Docker 容器数据卷的使用(超详细的讲解说明) 文章目录 7. Docker 容器数据卷的使用(超详细的讲解说明)1. Docker容器数据卷概述2. Docker 容器数据卷的使用演示&#xff1a;2.1 宿主 和 容器之间映射添加容器卷2.2 容器数据卷 读写规则映射添加说明2.3 容器数据卷的继承和共…...

算法——结合实例了解广度优先搜索(BFS)搜索

一、广度优先搜索初印象 想象一下&#xff0c;你身处一座陌生的城市&#xff0c;想要从当前位置前往某个景点&#xff0c;你打开手机上的地图导航软件&#xff0c;输入目的地后&#xff0c;导航软件会迅速规划出一条最短路线。这背后&#xff0c;就可能运用到了广度优先搜索&am…...

qt QCommandLineOption 详解

1、概述 QCommandLineOption类是Qt框架中用于解析命令行参数的类。它提供了一种方便的方式来定义和解析命令行选项&#xff0c;并且可以与QCommandLineParser类一起使用&#xff0c;以便在应用程序中轻松处理命令行参数。通过QCommandLineOption类&#xff0c;开发者可以更便捷…...

Linux权限提升-内核溢出

一&#xff1a;Web到Linux-内核溢出Dcow 复现环境&#xff1a;https://www.vulnhub.com/entry/lampiao-1,249/ 1.信息收集&#xff1a;探测⽬标ip及开发端⼝ 2.Web漏洞利⽤&#xff1a; 查找drupal相关漏洞 search drupal # 进⾏漏洞利⽤ use exploit/unix/webapp/drupal_dr…...

【环境安装】重装Docker-26.0.2版本

【机器背景说明】Linux-Centos7&#xff1b;已有低版本的Docker 【目标环境说明】 卸载已有Docker&#xff0c;用docker-26.0.2.tgz安装包安装 1.Docker包下载 下载地址&#xff1a;Index of linux/static/stable/x86_64/ 2.卸载已有的Docker 卸载之前首先停掉服务 sudo…...

【云安全】云原生- K8S API Server 未授权访问

API Server 是 Kubernetes 集群的核心管理接口&#xff0c;所有资源请求和操作都通过 kube-apiserver 提供的 API 进行处理。默认情况下&#xff0c;API Server 会监听两个端口&#xff1a;8080 和 6443。如果配置不当&#xff0c;可能会导致未授权访问的安全风险。 8080 端口…...

笔记7——条件判断

条件判断 主要通过 if、elif 和 else 语句来实现 语法结构 # if 条件1: # 条件1为真时执行的代码 # elif 条件2&#xff1a; # 条件1为假、且条件2为真时执行的代码 # elif 条件3&#xff1a; # 条件1、2为假、且条件3为真时执行的代码 # ... # else: # 所…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...