2019年第十届蓝桥杯 - 省赛 - C/C++大学C组 - D. 质数
生活随笔
收集整理的這篇文章主要介紹了
2019年第十届蓝桥杯 - 省赛 - C/C++大学C组 - D. 质数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Ideas
本來一開始想到的是質(zhì)數(shù)篩,但是埃式篩是用來篩選 n 以內(nèi)的所有質(zhì)數(shù),并不能找到第 n 個(gè)質(zhì)數(shù),除非找到一個(gè)足夠大的 n 能夠把第 2019 個(gè)質(zhì)數(shù)包含進(jìn)去。
可能質(zhì)數(shù)篩還有升級(jí),能夠用來找到第 n 個(gè)質(zhì)數(shù),挖個(gè)坑,后面研究一下。
所以這題就用來最原始的方法:通過一個(gè)函數(shù) is_primer() 來判斷一個(gè)數(shù)是不是質(zhì)數(shù),邏輯就是從2開始檢查,一直到根號(hào)n為止,如果發(fā)現(xiàn)n的約數(shù),那么就說明n不是質(zhì)數(shù)。
Code
Python
def is_primer(n):for i in range(2, int((n ** 0.5) + 1)):if n % i == 0:return Falsereturn Trueif __name__ == '__main__':num = 2primer_num = list()while len(primer_num) < 2019:if is_primer(num):primer_num.append(num)num += 1print(primer_num[-1])總結(jié)
以上是生活随笔為你收集整理的2019年第十届蓝桥杯 - 省赛 - C/C++大学C组 - D. 质数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode Algorithm 2
- 下一篇: 2019年第十届蓝桥杯 - 省赛 - C