题目地址:http://noi.openjudge.cn/ch0105/44/

质数,又称素数,定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数

验证一个数是否是素数,最常用的方法是:

给定一个大于2的数,对这个数求平方根,如果这个数能被从0到平方根的数中任意一个数整除,那么这个数就是不是质数,否则这个数就是质数。

原理是:

如果一个数不是质数,一定能分解成两个数相乘的形式,这两个数一个>=sqrt(num),一个<=sqrt(num),因此一定有一个是小于等于平方根的,所以只需验证到平方根就可以知道这个数是不是质数。

质数判断:

bool isPrime(int num)
{if(num == 2)return true;int tmp = sqrt(num);for(int i=2;i<=tmp;i++){if(num%i == 0){return false;}}return true;
}

完整代码:

#include "iostream"
#include "math.h"
using namespace std;
/*质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。*/
bool isPrime(int num)
{if(num == 2)return true;int tmp = sqrt(num);for(int i=2;i<=tmp;i++){if(num%i == 0){return false;}}return true;
}
int main()
{int n;cin>>n;int count = 0;for(int i=2;i<=1000000000;i++){if(isPrime(i)){count++;}if(count>=n) {cout<<i;return 0;}}
}


NOI 44:第n小的质数(C++)相关推荐

  1. 1.5 编程基础之循环控制 44 第n小的质数

    http://noi.openjudge.cn/ch0105/44/ /* 1.5 编程基础之循环控制 44 第n小的质数 http://noi.openjudge.cn/ch0105/44/ */ ...

  2. NOI.5.44第n小的质数

    描述 输入一个正整数n,求第n小的质数. 输入 一个不超过10000的正整数n. 输出 第n小的质数. 样例输入 10 样例输出 29 #include<stdio.h> #include ...

  3. 信息学奥赛一本通 1099:第n小的质数 | OpenJudge NOI 1.5 44

    [题目链接] ybt 1099:第n小的质数 OpenJudge NOI 1.5 44:第n小的质数 [题目考点] 1. 质数 质数的因数只有1和它本身. 判断数a是否是质数:循环变量i从2开始循环到 ...

  4. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1099:第n小的质数

    时间限制: 1000 ms 内存限制: 65536 KB 提交数: 7564 通过数: 3931 [题目描述] 输入一个正整数n,求第n小的质数. [输入] 一个不超过10000的正整数n. [输出] ...

  5. 信息奥赛一本通(1099:第n小的质数)

    1099:第n小的质数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 32660     通过数: 15948 [题目描述] 输入一个正整数n,求第n小的质数. ...

  6. 第n小的质数(信息学奥赛一本通-T1099)

    [题目描述] 输入一个正整数n,求第n小的质数. [输入] 一个不超过10000的正整数n. [输出] 第n小的质数. [输入样例] 10 [输出样例] 29 [源程序] #include<io ...

  7. 信息学奥赛C++语言: 第n小的质数

    [题目描述] 输入一个正整数n,求第n小的质数. [输入] 一个不超过10000的正整数n. [输出] 第n小的质数. [输入样例] 10 [输出样例] 29 代码 #include<iostr ...

  8. POJ NOI0105-44 第n小的质数

    问题链接:POJ NOI0105-44 第n小的质数. 总时间限制: 1000ms 内存限制: 65536kB 描述  输入一个正整数n,求第n小的质数.输入  一个不超过10000的正整数n.输出  ...

  9. 第n小的质数 --C语言实现

    第n小的质数 题目描述: 题解: ​ 判断是否是质数的代码: /*判断是否是质数*/ int IfPrime(int n) {for (int i = 2; i * i <= n; ++i) { ...

最新文章

  1. VSCode 安装 Go 插件、gopls 是个什么东东
  2. 如何建立和维护自己的“人脉”
  3. 网站的最大并发连接数
  4. numpy库:常用基本
  5. 一个为制造业而生的AI助手,普通员工向它提问就能做数据分析
  6. 华为交换机一次性进入多个接口_华为交换机端口的批量配置命令
  7. Python 文件writelines() 方法和处理双层列表
  8. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--L-用来作弊的药水
  9. java中负数取整_Java取整,固定保留两位小数,适配负数、金融数字。
  10. 7-2 最长公共子序列 (10 分)(思路加详解)
  11. 在git bush中如何退出vim编辑器
  12. OpenCV 20 年,首款开源软硬一体的 OAK 套件来了!
  13. 常用端口号及对应服务
  14. js(一) 三大事件 实现注册验证
  15. 常用m脚本控制simulink模块方法
  16. AIC(最小信息化准则)
  17. 比较自然语言与计算机语言,计算机语言与自然语言的比较研究.pdf
  18. Ubuntu18.04设置自动连接WIFI
  19. 自己动手丰衣足食之移动端日期选择插件(强烈推荐)
  20. IDEA中注释@param 参数名称不存在时,飘红报错解决

热门文章

  1. linux无线wps连接wifi,不好意思问Wifi密码?不用密码QSS/WPS连接Wifi教程
  2. android立体图形——三棱锥
  3. Java开发经典实战!大连java培训机构
  4. Java类加载器 — classloader 的原理及应用
  5. 为了混圈子,她花光20万积蓄买爱马仕包:你没价值,混进再牛的圈子也没用...
  6. 电脑C盘清理以及有什么东西不能删
  7. iphone模拟器截图方法
  8. 手机太卡是关机再开机好,还是重启更好?
  9. 只展示姓的姓名脱敏,针对复姓做特殊处理
  10. Linux笔记 No.28---( rsync服务、SSH服务)