日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python质数判断if isprime_使用Python判断质数(素数)的简单

發(fā)布時(shí)間:2025/4/16 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python质数判断if isprime_使用Python判断质数(素数)的简单 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這篇文章主要介紹了使用Python判斷質(zhì)數(shù)(素?cái)?shù))的簡(jiǎn)單方法講解,經(jīng)常被用來(lái)做科學(xué)計(jì)算的Python處理這種小問(wèn)題當(dāng)然手到擒來(lái)^_-需要的朋友可以參考下

質(zhì)數(shù)又稱素?cái)?shù)。指在一個(gè)大于1的自然數(shù)中,除了1和此整數(shù)自身外,不能被其他自然數(shù)整除的數(shù)。素?cái)?shù)在數(shù)論中有著很重要的地位。比1大但不是素?cái)?shù)的數(shù)稱為合數(shù)。1和0既非素?cái)?shù)也非合數(shù)。質(zhì)數(shù)是與合數(shù)相對(duì)立的兩個(gè)概念,二者構(gòu)成了數(shù)論當(dāng)中最基礎(chǔ)的定義之一。基于質(zhì)數(shù)定義的基礎(chǔ)之上而建立的問(wèn)題有很多世界級(jí)的難題,如哥德巴赫猜想等。算術(shù)基本定理證明每個(gè)大于1的正整數(shù)都可以寫成素?cái)?shù)的乘積,并且這種乘積的形式是唯一的。這個(gè)定理的重要一點(diǎn)是,將1排斥在素?cái)?shù)集合以外。如果1被認(rèn)為是素?cái)?shù),那么這些嚴(yán)格的闡述就不得不加上一些限制條件。 前幾天偶爾的有朋友問(wèn)python怎么判斷素?cái)?shù)的方法,走網(wǎng)上查了查,總結(jié)了python腳本判斷一個(gè)數(shù)是否為素?cái)?shù)的幾種方法:

1.運(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

2.單行程序掃描素?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): www.jb51.net

if n <= 1:

return False

for i in count(2):

if i * i > n:

return True

if n % i == 0:

return False

3.不使用模塊的兩種方法方法1:

def isPrime(n):

if n <= 1:

return False

i = 2

while i*i <= n:

if n % i == 0:

return False

i += 1

return True

方法2:

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

eg:求出20001到40001之間的質(zhì)數(shù)(素?cái)?shù))既然只能被1或者自己整出,那說(shuō)明只有2次余數(shù)為0的時(shí)候,代碼如下:

#!/usr/bin/python

L1=[]

for x in xrange(20001,40001):

n = 0

for y in xrange(1,x+1):

if x % y == 0:

n = n + 1

if n == 2 :

print x

L1.append(x)

print L1

結(jié)果如下:

20011

20021

20023

20029

20047

20051

20063

20071

20089

20101

20107

20113

20117

20123

20129

20143

20147

20149

20161

20173

….

更多使用Python判斷質(zhì)數(shù)(素?cái)?shù))的簡(jiǎn)單相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請(qǐng)注明出處,感謝您的尊重!

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的python质数判断if isprime_使用Python判断质数(素数)的简单的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。