蓝桥杯第十三届蓝桥杯大赛软件赛决赛CC++ 研究生组之选素数

蓝桥杯第十三届蓝桥杯大赛软件赛决赛C/C++ 研究生组之选素数

[题目传送门](0选素数 - 蓝桥云课 (lanqiao.cn))

问题大意:

小蓝有一个数字,要进行如下操作:

首先选出一个小于x 的质数p,然后将x变成要比原本大的最小的为p的倍数的x1。

听上去有点绕,举个例子说明一下:

比如取x值为6,比6小的素数有2,3,5

则当取的素数为2时,x为6保持不变,因为6为2的倍数。

当取的素数为3时,x为6保持不变,理由同上。

当取的素数为5时,则x最大可以变为10.

进行一次操作时

而如今的题意是反过来的,在上述中是知道了x,然后可以知道最大为x1.

现在是知道了x1,要知道其最小的x是多少。

比如知道了现如今的x1为10,最小的x可以取值为多少?

其方法就是求x1的最大质因数,其最大质因数+1即为所求。

设所求的值为x,现如今知道x1的最大质因数为p,则x=x1-p+1

还是以上述为例

现如今知道的x1为10,其最大的质因数为5,因而其要求的x是10-5+1=6.

现如今的题意是进行两次这样的操作:

设要求的值为x,进行一次这样的操作后的值为x1,进行第二次这样的操作后的值为x2.

例:

第一次:

x2=22, 22最大的质因数为11,则在此区间中可以取得值为 12–22,其中的素数如13、15可以忽略,因为素数的最大质因数就是其本身。

求解时候搜索这个区间内,满足条件的最小值x即可。此时12–22这个所取得值的意思是指,第一步时候的x1。

设f(i)表示i最大的质因数,则最终答案的x=i-f(i)+1

如当i=14时,其最大质因数为7,则x=8,此时值为最小的。12–22之间的其他数,也可以试一下,f(14)=7。

代码如下:

#include <bits/stdc++.h>
using namespace std;
const int N=1e6 + 10;
bool judge_su(int n) //判断是不是素数
{if(n==2){return true;}for(int i=2;i<=sqrt(n);i++){if(n%i==0){return false;}}return true;
}
int get_max_prime(int n,vector<bool>& is_prime) //获得n最大的质因数
{for(int j=n;j>=2;j--){if(n%j==0&&is_prime[j]==true){return j;}}return -1;
}
int main()
{int n;cin>>n;vector<bool> is_prime(n+1,false);is_prime[2]=true;for(int i=3;i<=n;i++) //找出到n范围内的所有素数{if(judge_su(i)){is_prime[i]=true;}}int max_su = get_max_prime(n,is_prime);if(max_su==-1){cout<<-1<<endl;return 0;}vector<int> dp(n+1,INT_MAX);int ans=INT_MAX;for(int i=n-max_su+1;i<=n;i++){if(!is_prime[i])//这个数不能是素数{int get_max = get_max_prime(i,is_prime);ans = min(ans,i-get_max+1);//dp[i]=i-get_max+1;}}cout<<ans<<endl;return 0;
}

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

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

相关文章

js判断字符串是否为JSON格式

使用场景&#xff1a;在有些项目中我们会将用户输入的JSON字符串转化为对象形式并展示出来&#xff0c;那么首先我们就要判断一个字符串是否为一个合法的JSON字符串。 代码如下&#xff1a; isJSON(str) { if (typeof str string) { try { let obj …

使用CUDA 为Tegra构建OpenCV

返回&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;MultiArch与Ubuntu/Debian 的交叉编译 下一篇&#xff1a;在iOS中安装 警告&#xff1a; 本教程可能包含过时的信息。 使用CUDA for Tegra 的OpenCV 本文档是构建支持 CUD…

谷歌具身智能最新进展:RT-H 机器人通用灵巧抓取

随着 GPT-4 等大型语言模型与机器人研究的结合愈发紧密&#xff0c;人工智能正在越来越多地走向现实世界&#xff0c;因此具身智能相关的研究也正受到越来越多的关注。在众多研究项目中&#xff0c;谷歌的「RT」系列机器人始终走在前沿&#xff08;参见《大模型正在重构机器人&…

各位老板,你需要的工厂数字孪生可视化库在这

各位老板是不是很喜欢下面这种有逼格的大屏,下面介绍一下怎么实现的,保证有所收获。 Cesium是一个开源的WebGL JavaScript库&#xff0c;用于创建高性能的三维地球、地图和虚拟环境。它支持在浏览器中实现高质量的地球模拟&#xff0c;同时提供了丰富的功能特点&#xff0c;使得…

Superset二次开发之PostgreSQL 统计信息介绍

pg_stat_user_tables 视图提供了关于 PostgreSQL 数据库中用户定义表的统计信息。这些统计信息涵盖了从表的扫描操作到修改次数等多个方面。 以下是 pg_stat_user_tables 中所有字段的含义&#xff1a; relid: 表的 OID&#xff08;对象标识符&#xff09;。这是表在系统中的…

k8s系列之十五 Istio 部署Bookinfo 应用

Bookinfo 应用中的几个微服务是由不同的语言编写的。 这些服务对 Istio 并无依赖&#xff0c;但是构成了一个有代表性的服务网格的例子&#xff1a;它由多个服务、多个语言构成&#xff0c;并且 reviews 服务具有多个版本。 该应用由四个单独的微服务构成。 这个应用模仿在线书…

模板高级使用(非类型模板参数,特化,分离编译)

文章目录 模板没有实例化取内嵌类型报错问题非类型模板参数模板的特化函数模板的特化类模板的特化1.全特化2.偏特化 模板的分离编译 模板没有实例化取内嵌类型报错问题 首先在这里分享一个模板的常见报错问题。就是模板的在没有实例化的情况下去取模板类里面的内嵌类型这时候的…

代码随想录|Day25|回溯05|491.非递减子序列、46.全排列、47.全排列II

491. 非递减子序列 本题并不能像 90.子集II 那样&#xff0c;使用排序进行树层去重。虽然题目没有明确不能排序&#xff0c;但如果排序了&#xff0c;集合本身就是递增子序列&#xff0c;这是LeetCode示例2中没有出现的。 所以本题的关键在于&#xff0c;如何在不排序的情况下对…

引入spring security 403问题

禁用 csrf 即可 httpSecurity.csrf(csrf -> csrf.disable()); Configuration public class SecurityConfig {/*** 认证管理器** param authenticationConfiguration* return* throws Exception*/Beanpublic AuthenticationManager authenticationManager(AuthenticationConf…

请解释 VB.NET 中的多态性(Polymorphism)以及如何实现它。

请解释 VB.NET 中的多态性&#xff08;Polymorphism&#xff09;以及如何实现它。 多态性&#xff08;Polymorphism&#xff09;是面向对象编程中的一个重要概念&#xff0c;它允许不同的对象对同一个消息作出不同的响应。在VB.NET中&#xff0c;多态性通过继承和方法重写来实…

2024格行VS华为VS飞猫哪个是最值得购买随身WiFi?中兴随身WiFi好用吗?

经常出差旅行&#xff0c;或者户外工作的朋友因为长期在外&#xff0c;手机流量经常不够用&#xff0c;想必都是随身WiFi的忠实用户&#xff0c;但是也都被这款产品割韭菜割的头皮发麻。今天&#xff0c;我们统计了市面上最靠谱的、最热销、口碑最好的几款随身WiFi。排名依据来…

Java学习笔记(17)

集合进阶 单列集合 Collection List set Add clear remove contains isempty size Add方法可能也会添加失败 同理&#xff0c;可能删除失败 Contains细节 为什么要重写equals&#xff1f; 因为contains底层用的是object类中的equals方法&#xff0c;比较的是地址值&#xf…

为什么穷人什么都懂,就是不懂赚钱?2024金矿项目! 2024创业好项目 !2024创业新项目新商机! 2024超级机会

为什么穷人什么都懂&#xff0c;就是不懂赚钱&#xff1f;有位网友是这么说的&#xff0c;穷人的思维有一个致命的缺陷&#xff0c;就是追求确定性&#xff0c;进而失去了可能性。而赚钱的真相实际上非常残酷。世界上能够赚钱的事情必定是不确定的&#xff0c;能够赚取巨额财富…

万亿参数GPU!算力提升30倍!英伟达新核弹B200重磅发布!

关注文章底部的公众号,获取每日AI资讯 前沿 3月18日-21日期间,英伟达在美国圣何塞召开GTC大会。创始人黄仁勋也在GTC大会上,做了一场长达两小时的开幕演讲,展示了其在AI芯片、机器人、汽车等领域的最新研发成果和技术进展,号称让全世界用上AI。 全球头号人工智能领域开发…

【JavaEE -- 文件操作IO有关面试题】

文件操作IO有关面试题 1.查找硬盘上的文件位置1.1 思路1.2 执行代码 2. 实现文件复制2.1 思路2.2 代码执行 3. 打印搜索的词的文件路径3.1 思路3.2 代码执行 1.查找硬盘上的文件位置 给定一个文件名&#xff0c;去指定的目录中进行搜索&#xff0c;找到文件名匹配的结果&#…

算法第三十一天-直方图的水量

直方图的水量 题目要求 解题思路 使用面向列的计算比面向行的计算更加容易。我们只需要考虑当前的位置的左右最高模板的高度。 方法一、暴力解法 每个位置能接到多少雨水&#xff0c;很容易想到[木桶效应]&#xff0c;即是由两边最短的木板限制的。那么直观思路就是&#x…

高职(大专)结构化面试之答题思路

目录 一、岗位认知 二、职教热点 三、教育教学 四、人际关系 五、组织管理 六、应急应变 七、时政与教育 八、专业知识 一、岗位认知 考试方向&#xff1a;主要考察对岗位的全面认识、职业目标、职业规划、职业理想。 必背题目&#xff1a; 1.“你为什么要报考我们学校的教师岗…

Postgres几种不同的索引提高查询性能

B-tree 索引&#xff1a; B-tree&#xff08;平衡树&#xff09;是 PostgreSQL 中最常用的索引类型。它适用于范围查询、排序和等值查询。B-tree索引对于数据类型的要求不严格&#xff0c;适用于大多数情况。 CREATE INDEX index_name ON table_name USING btree (column_name)…

扶贫惠农推介系统|基于jsp技术+ Mysql+Java+ B/S结构的扶贫惠农推介系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;ssm&#xff0c;springboot的平台设计与实现项目系统开发资源&#xff08;可…

量化探店记

1 人工智能的应用 人工智能&#xff08;AI&#xff09;在量化金融领域的应用非常广泛&#xff0c;它可以帮助量化交易员进行数据分析、模型建立、风险管理和交易决策等方面。以下是一些 AI 在量化金融中的常见应用&#xff0c;并附有相应的示例&#xff1a; 预测模型&#xff…