python獲取100以內(nèi)的質(zhì)數(shù)3種方式總結(jié)
1. 質(zhì)數(shù)
質(zhì)數(shù)是只有1和它本身兩個因數(shù)的自然數(shù)(大于1);2是最小的質(zhì)數(shù),也是唯一的偶質(zhì)數(shù);1既不是質(zhì)數(shù),也不是合數(shù)。100以內(nèi)的質(zhì)數(shù)有:2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97,100以內(nèi)的質(zhì)數(shù)共有25個。
2. 方式1:使用嵌套循環(huán),判斷這個數(shù)是否存在除1和它本身外的其他因數(shù)
# 定義一個空列表用于存放100以內(nèi)的質(zhì)數(shù)
prime_num = []
# 遍歷獲取2~100之間的整數(shù),外層循環(huán)控制取值
for num in range(2, 101):
# 內(nèi)層循環(huán)取因數(shù)(除1和它本身外)
for i in range(2, num):
# 判斷num是否是質(zhì)數(shù),在2~num-1之間能否找到一個數(shù),能被i整除
if num % i == 0:
# 不是質(zhì)數(shù),結(jié)束內(nèi)層循環(huán),判斷下一個數(shù)
break
# break不執(zhí)行,else執(zhí)行,則num是一個質(zhì)數(shù)
else:
# 將質(zhì)數(shù)num添加到列表中
prime_num.append(num)
print(prime_num)3. 方式2:假設法,假設num是一個質(zhì)數(shù)
prime_num = []
for num in range(2, 101):
# 假設num是一個質(zhì)數(shù)
result = True
for i in range(2, num):
# 判斷成立,num不是一個質(zhì)數(shù)
if num % i == 0:
result = False
# 結(jié)束內(nèi)層循環(huán),判斷下一個數(shù)
break
# num是質(zhì)數(shù),則添加到列表中
if result:
prime_num.append(num)
print(prime_num)4. 方式3:統(tǒng)計num的因數(shù)的個數(shù)
# 統(tǒng)計100以內(nèi)質(zhì)數(shù)的個數(shù)
prime_count = 0
prime_num = []
for num in range(2, 101):
# 統(tǒng)計因數(shù)的個數(shù)
factor_count = 0
for i in range(1, num+1):
# 條件成立,因數(shù)的個數(shù)加1
if num % i == 0:
factor_count += 1
# 質(zhì)數(shù)只有2個因數(shù),1和它本身
if factor_count == 2:
prime_count += 1
prime_num.append(num)
print('100以內(nèi)的質(zhì)數(shù)如下:')
print(prime_num)
print(f'100以內(nèi)有{prime_count}個質(zhì)數(shù)')
圖1 程序運行結(jié)果
5. 封裝一個函數(shù),判斷一個數(shù)是否是質(zhì)數(shù)。
def isprime(num):
# 2是最小的質(zhì)數(shù),小于2則不是質(zhì)數(shù)
if num < 2:
return False
else:
# 假設num是一個質(zhì)數(shù)
result = True
for i in range(2, num):
# 條件成立,則num不是質(zhì)數(shù)
if num % i == 0:
result = False
break
return result
print(isprime(-2024))
print(isprime(5))
print(isprime(2025))
print(isprime(2027))
圖2 程序運行結(jié)果
附:計算小于N的素數(shù)個數(shù)
- 輸入: 10
- 輸出: 4
小于10的素數(shù)共4個:2, 3, 5, 7
from math import sqrt
def isPrime(n):
for i in range(2,int(sqrt(n))+1):
if n%i==0:
return False
return True
def countPrime(N):
if N<3:
return 0
else:
cou = 1
for i in range(3,N,2):
if isPrime(i):
cou += 1
return cou
print(countPrime(2)) print(countPrime(5)) print(countPrime(100)) print(countPrime(100000)) print(countPrime(10000000))#在n>100000000時達到計算瓶頸
輸出:
0
2
25
9592
664579
總結(jié)
到此這篇關于python獲取100以內(nèi)的質(zhì)數(shù)3種方式的文章就介紹到這了,更多相關python獲取100以內(nèi)質(zhì)數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- python實現(xiàn)挑選出來100以內(nèi)的質(zhì)數(shù)
- 使用Python判斷質(zhì)數(shù)(素數(shù))的簡單方法講解
- Python 判斷是否為質(zhì)數(shù)或素數(shù)的實例
- Python編程求質(zhì)數(shù)實例代碼
- python輸出100以內(nèi)的質(zhì)數(shù)與合數(shù)實例代碼
- python求質(zhì)數(shù)的3種方法
- 利用Python計算質(zhì)數(shù)與完全數(shù)的方法實例
- python如何實現(xiàn)質(zhì)數(shù)求和
- python計算質(zhì)數(shù)的6種方法
- python如何求取指定范圍內(nèi)的質(zhì)數(shù)
相關文章
Python 轉(zhuǎn)換數(shù)據(jù)類型函數(shù)和轉(zhuǎn)換數(shù)據(jù)類型的作用
這篇文章主要介紹了Python 轉(zhuǎn)換數(shù)據(jù)類型函數(shù)和轉(zhuǎn)換數(shù)據(jù)類型的作用,圍繞Python 轉(zhuǎn)換數(shù)據(jù)類型的相關資料展開內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下2022-03-03
python實現(xiàn)計數(shù)排序與桶排序?qū)嵗a
這篇文章主要介紹了python計數(shù)排序與桶排序,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03
numpy中np.append()函數(shù)用法小結(jié)
在numpy的函數(shù)庫中,np.append()函數(shù)是一個常用的數(shù)組操作函數(shù),它在進行數(shù)組操作時能夠?qū)蓚€數(shù)組進行拼接,并返回一個拼接后的新數(shù)組,下面就來介紹一下具體用法,感興趣的可以了解一下2023-11-11
python下的opencv畫矩形和文字注釋的實現(xiàn)方法
今天小編就為大家分享一篇python下的opencv畫矩形和文字注釋的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python實現(xiàn)學生管理系統(tǒng)的示例代碼
學生管理系統(tǒng)是一個常見的應用程序,它可以幫助學校、教育機構(gòu)或教師管理學生的信息,本文將介紹如何利用Python開發(fā)一個學生管理系統(tǒng),需要的可以參考一下2023-07-07
Python中如何使用sqlite3操作SQLite數(shù)據(jù)庫詳解
這篇文章主要介紹了Python中SQLite數(shù)據(jù)庫的使用,包括連接數(shù)據(jù)庫、創(chuàng)建表、數(shù)據(jù)增刪改查、事務管理和參數(shù)化查詢等,并提供了操作示例,需要的朋友可以參考下2025-03-03
Python實現(xiàn)GUI學生管理系統(tǒng)的示例代碼
這篇文章主要為大家介紹了如何留Python語言實現(xiàn)簡易的GUI學生管理系統(tǒng),文中的示例代碼講解詳細,對我們學習Python有一定幫助,需要的可以參考下2022-06-06

