最小互质数 (H题)
题目
我们定义两个数的互质数当且仅当gcd(a, b) = 1。
现在L手里有n个数,分别为a1,a2,a3 ……an-1,an 。
问,没有在这n个数中出现过并且与这n个数都互质的最小的数是多少。
LL觉得这个问题太简单了,于是她把这个问题交给你来解决
输入
第一行一个数n (1 ≤ n, ai ≤ 10^5)
接下来n行,每行一个数,分别代表a1,a2,a3 ……an-1,an 。
输出
输出一行代表答案
样例输入
5
1
2
3
4
5
样例输出
7
解题思路
这道题如果用暴力破解肯定会TLE,所以我是先用欧拉筛法标记好10^6以内的素数。然后再用sort函数给输入的数据排好序,从1开始按顺序一一往后查找,只要一出现数组中没有的数,就判断是否是质数(利用前面欧拉筛法标记好的的素数数组),如果是质数,就判断其是不是数组中出现过的数的约数,如果不是那么这个数就是答案,如果是,就继续往后找。
代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#define N 1000005
using namespace std;int prim[N],a[N],i,j,k,n,cnt=0;
bool isp[N]={false};
int main()
{//欧拉筛法求2~N之间的素数for(i=2;i<=N;i++){if(!isp[i]) prim[++cnt]=i;for(int j=1;j<=cnt;j++){if(i*prim[j]>N) break;isp[i*prim[j]]=true;if(i%prim[j]==0) break;}}scanf("%d",&n);for(i=1;i<=n;i++)scanf("%d",&a[i]);sort(a+1,a+1+n);if(a[1]!=1){printf("1");//如果数组中最小的数不是1,则这n个数的最小互质数肯定为1return 0;}for(i=2,k=2;;i++,k++){bool f=0;while(a[i+1]!=k+1){//如果a[i+1]!=k+1,则k+1是这个有序数组没有出现过的数if(!isp[k+1]){//判断是否为素数if(k+1>a[n]){//如果k+1大于数组里最大的数,那么它肯定不可能是数组里任何一个数的约数printf("%d\n",k+1);return 0;}for(j=i+1;j<=n;j++){//判断数组里有没有数能被k+1整除if(a[j]%(k+1)==0){break;}}if(j>n){//数组内没有数能被k+1整除,输出k+1printf("%d\n",k+1);return 0;}}k++;//若不符合最小互质数条件,则继续往后查找}}return 0;
}
最小互质数 (H题)相关推荐
- 第十一届蓝桥杯国赛H题答疑
第十一届蓝桥杯国赛H题答疑 题目 [题目描述] [输入格式] [输出格式] [样例输入] [样例输出] [样例说明] [评测用例规模与约定] 分析(这篇水文的精髓) 代码 题目 万一图片加载不出来的话 ...
- POj 3164 Command Network最小树形图 模板题 朱刘算法
Command Network After a long lasting war on words, a war on arms finally breaks out between littleke ...
- 2019 年TI杯全国大学生电子设计竞赛H题模拟电磁曲射炮
2019 年TI杯全国大学生电子设计竞赛H题模拟电磁曲射炮 前言 首先要肯定电子设计竞赛的含金量,而也正是电子设计竞赛给了我本科阶段最好的体验.此文章介绍的作品是我所在团队于2019年参加电赛的参赛作 ...
- 2017全国大学生电子设计竞赛H题:远程幅频特性测试仪:主控STM32F407
2017年全国大学生电子设计竞赛 远程幅频特性测试仪(H题) [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9sPfFjy1-1618627176227)(media/ ...
- H题:简易功率测量装置(高职高专)-- 2018年TI杯大学生电子设计竞赛
H题:简易功率测量装置(高职高专)-- 2018年TI杯大学生电子设计竞赛 文章目录 H题:简易功率测量装置(高职高专)-- 2018年TI杯大学生电子设计竞赛 1.任务 2.要求 3.说明 1.任务 ...
- 【立创EDA开源推荐】005期 | 2019年电赛H题 电磁炮(激光版)
工程名称: 2019年电赛H题 电磁炮(激光版) 工程作者:zzxw 工程主页链接: https://oshwhub.com/kakaka/tu-ya-zhi-neng-yun-duo 开源协议: G ...
- 模拟电磁炮国一设计资料【2019电赛H题国一作品】
经历重重测试,从初赛杀进综测再到去上海复测,真是一路坎坷啊!回顾电赛准备阶段,在实验室基地的我们熬了多少个夜,废寝忘食的学习-仅仅是为了能更有信心的面对电赛:在电赛的四天三夜中我们经历了太多,我们将近 ...
- 2017年电赛国赛H题《远程幅频特性测试装置》训练总结(信号接收采集部分)
系列文章链接目录 一.2017年电赛国赛H题<远程幅频特性测试装置>训练总结(DDS信号源部分) 二.2017年电赛国赛H题<远程幅频特性测试装置>训练总结(放大器部分) 三. ...
- 2019 年(H 题)模拟电磁曲射炮
2019 年(H 题)模拟电磁曲射炮 2019 年全国大学生电子设计竞赛试题 [本科组] 文章目录 2019 年(H 题)模拟电磁曲射炮 一.任务 二.要求 1 .基本要求 2.发挥部分 三.说明 四 ...
最新文章
- NetCore入门篇:(二)Net Core项目创建
- Robert算子的运用
- 详解CUDA核函数及运行时参数
- ios上架图片在线制作_TF上架是什么?上架testflight真的不掉签吗?
- 九九乘法表编程上三角python_java语言打印上三角和下三角,进一步得到九九乘法表...
- 电脑pin重置_如果忘记了如何重置Windows PIN
- beetl 页面标签_05.Beetl标签函数以及定界符、占位符介绍---《Beetl视频课程》
- 折扇的保养方法是什么?
- java同步调用rabbitmq,使用RabbitMQ可以放慢同步发布/消耗速度
- 扇贝有道180922每日一句
- 工大瑞普Cisco路由模拟器Dynamips
- 捷联惯导系统学习7.1(捷联惯导粗对准 )
- 白嫖!白嫖!【尚学堂】高淇Java300集全套学习资料!
- mysql密码和权限配置
- linux mint17.2 安装fcitx输入法
- nyoj-34-韩信点兵
- Easy3D配置、安装教程(补充教程)
- YOLOV5源码解读(数据集加载和增强)
- C++并发编程之线程异步std::packaged_task知识点总结
- Kafka源码-发送器Sender类型的的sendProducerData 模版方法