python中素數 Python中的基本素數生成器

2021-10-19 01:49:55 字數 1504 閱讀 4516

從這個開始:def prime_gen(n):

primes = [2]

a = 2

while a < n:

counter = 0

for i in primes:

if a % i == 0:

counter += 1

if counter == 0:

else:

counter = 0

a = a + 1

print primes

你真的需要埃爾斯分店嗎?沒有

^$你需要櫃檯嗎?不!在def prime_gen(n):

primes = [2]

a = 2

while a < n:

for i in primes:

if a % i == 0:

break

a = a + 1

print primes

你需要檢查一下是否有更大的面積嗎?沒有def prime_gen(n):

primes = [2]

a = 3

while a < n:

sqrta = sqrt(a+1)

for i in primes:

if i >= sqrta:

break

if a % i == 0:

break

a = a + 1

print primes

是否確實要手動增加a?在def prime_gen(n):

primes = [2]

for a in range(3,n):

sqrta = sqrt(a+1)

for i in primes:

if i >= sqrta:

break

if a % i == 0:

break

這是一些基本的重構,應該會自動從你的手指中流出。在

然後測試重構後的**,檢視是否有錯誤並修復它:def prime_gen(n):

primes = [2]

for a in range(3,n):

sqrta = sqrt(a+1)

isprime = true

for i in primes:

if i >= sqrta:

break

if a % i == 0:

isprime = false

break

if(isprime):

return primes

最後去掉了isprime標誌:def prime_gen(n):

primes = [2]

for a in range(3,n):

sqrta = sqrt(a+1)

for i in primes:

if i >= sqrta:

break

if a % i == 0:

break

return primes

現在你完成了!在

python素數演算法 Python素數檢測的方法

因子檢測 檢測因子,時間複雜度o n 1 2 def is prime n if n 2 return false for i in xrange 2,int n 0.5 1 if n i 0 return false return true 費馬小定理 如果n是乙個素數,a是小於n的任意正整數,那...

python中素數怎麼求 用python怎麼求素數

如何用python求100以內的素數?質數 primenumber 又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數的數稱為質數,如 2 3 5 7 11 13 17 19。方法一,用for迴圈來實現num i 2for i in range 2,100 j 2fo...

迴圈素數 Python

來自網易雲課堂python程式設計第三週作業的一道題 題目內容 數字197可以被稱為迴圈素數,因為197的三個數字迴圈移位後的數字 197,971,719均為素數。100以內這樣的數字包括13個,2,3,5,7,11,13,17,31,37,71,73,79,97。要求任意正整數n以內一共有多少個這...