新聞中心
創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!
python判斷一個(gè)數(shù)是否為素?cái)?shù)的兩種方法?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
質(zhì)數(shù)(prime number)又稱(chēng)素?cái)?shù)。指在一個(gè)大于1的自然數(shù)中,除了1和此整數(shù)自身外,不能被其他自然數(shù)整除的數(shù)。素?cái)?shù)在數(shù)論中有著很重要的地位。比1大但不是素?cái)?shù)的數(shù)稱(chēng)為合數(shù)。1和0既非素?cái)?shù)也非合數(shù)。素?cái)?shù)是與合數(shù)相對(duì)立的兩個(gè)概念,二者構(gòu)成了數(shù)論當(dāng)中最基礎(chǔ)的定義之一。基于質(zhì)數(shù)定義的基礎(chǔ)之上而建立的問(wèn)題有很多世界級(jí)的難題,如哥德巴赫猜想等。算術(shù)基本定理證明每個(gè)大于1的正整數(shù)都可以寫(xiě)成素?cái)?shù)的乘積,并且這種乘積的形式是唯一的。這個(gè)定理的重要一點(diǎn)是,將1排斥在素?cái)?shù)集合以外。如果1被認(rèn)為是素?cái)?shù),那么這些嚴(yán)格的闡述就不得不加上一些限制條件。
一個(gè)大于1的整數(shù),不是素?cái)?shù)就是合數(shù);
任何一個(gè)合數(shù)都可以分解為幾個(gè)素?cái)?shù)的乘積;
除了2,3,5以外,素?cái)?shù)均以1,3,7,9為結(jié)尾;
素?cái)?shù)有無(wú)窮多個(gè);
兩個(gè)素?cái)?shù)之間差值為1的僅有2和3,差值為3的僅有2和5;
兩個(gè)素?cái)?shù)間差值為2的成為孿生素?cái)?shù),如2和3,3和5;
孿生素?cái)?shù)推測(cè)有無(wú)窮多對(duì)……
總結(jié)python腳本判斷一個(gè)數(shù)是否為素?cái)?shù)的幾種方法:
運(yùn)用python的數(shù)學(xué)函數(shù)
import math def isPrime(n): if n <= 1: return False for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return True
單行程序掃描素?cái)?shù)
from math import sqrt N = 100 [ p for p in range(2, N) if 0 not in [ p% d for d in range(2, int(sqrt(p))+1)] ]
運(yùn)用python的itertools模塊
from itertools import count def isPrime(n): if n <= 1: return False for i in count(2): if i * i > n: return True if n % i == 0: return False
不使用模塊的兩種方法
方法一:
def isPrime(n): if n <= 1: return False i = 2 while i*i <= n: if n % i == 0: return False i += 1 return True
方法二:
def isPrime(n): if n <= 1: return False if n == 2: return True if n % 2 == 0: return False i = 3 while i * i <= n: if n % i == 0: return False i += 2 return True
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
網(wǎng)頁(yè)標(biāo)題:python判斷一個(gè)數(shù)是否為素?cái)?shù)的兩種方法-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://www.dlmjj.cn/article/doiheh.html