您当前的位置: 首页 >  蓝桥杯

2019年第十届蓝桥杯 - 省赛 - C/C++大学C组 - D. 质数

发布时间:2022-01-14 08:41:01 ,浏览量:0

在这里插入图片描述

Ideas

本来一开始想到的是质数筛,但是埃式筛是用来筛选 n 以内的所有质数,并不能找到第 n 个质数,除非找到一个足够大的 n 能够把第 2019 个质数包含进去。

可能质数筛还有升级,能够用来找到第 n 个质数,挖个坑,后面研究一下。

所以这题就用来最原始的方法:通过一个函数is_primer()来判断一个数是不是质数,逻辑就是从2开始检查,一直到根号n为止,如果发现n的约数,那么就说明n不是质数。

Code Python
def is_primer(n): for i in range(2, int((n ** 0.5) + 1)): if n % i == 0: return False return True if __name__ == '__main__': num = 2 primer_num = list() while len(primer_num) < 2019: if is_primer(num): primer_num.append(num) num += 1 print(primer_num[-1]) 
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    108697博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0475s