Python求質數 素數

2021-10-07 10:03:23 字數 1314 閱讀 4923

先寫乙個裝飾器d1.py,為了測試執行時間

from functools import wraps

import time

deff1

(func)

: @wraps(func)

deff2()

: begin = time.time(

) func(

) end = time.time(

)print

('cost'

, end - begin)

return f2

方法一

# -*- coding: utf-8 -*-

from d1 import f1

@f1defh(

):i =

2while i <

1000

: j =

2while j <= i / j:

# 比方法二範圍更小

ifnot i % j:

break

j = j +

1if j > i / j:

# 證明上面沒有break出來

print

(i," 是素數"

) i = i +

1print

("good bye!"

) h()

>>

>..

.>>

>cost 0.012665987014770508

方法二

from d1 import f1

@f1defs(

):for num in

range(2

,1000):

# 迭代 10 到 1000 之間的數字

for i in

range(2

,num)

:# 根據因子迭代

if num % i ==0:

# 確定第乙個因子

# j = num / i # 計算第二個因子

# print('%d 等於 %d * %d' % (num,i,j)) # 能被分解因子,則不是質數

break

# 跳出當前迴圈

else

:# 迴圈的 else 部分

print

(num,

'是乙個質數')s(

)>>

>..

.>>

>cost 0.06467127799987793

python 求100以內素數 質數和

import math def is prime n 簡化問題,先利用函式判斷是否為質數 if n 1 是賦值,才是判斷,切記切記 return false for i in range 2,int math.sqrt n 1 質數判斷條件,注意 1 if n i 0 return false re...

求質數 素數 演算法思想

此演算法是網上查詢到的 覺得不錯 所以拿來與大家分享 1 求10000 以內的所有素數。素數是除了 1和它本身之外再不能被其他數整除的自然數。由於找不到乙個通項公式來表示所有的素數,所以對於數學家來說,素數一直是乙個未解之謎。像著名的 哥德 猜想 孿生素數猜想,幾百年來不知吸引了世界上多少優秀的數學...

求質數 素數 演算法思想

此演算法是網上查詢到的 覺得不錯 所以拿來與大家分享 1 求10000 以內的所有素數。素數是除了 1和它本身之外再不能被其他數整除的自然數。由於找不到乙個通項公式來表示所有的素數,所以對於數學家來說,素數一直是乙個未解之謎。像著名的 哥德 猜想 孿生素數猜想,幾百年來不知吸引了世界上多少優秀的數學...