先寫乙個裝飾器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和它本身之外再不能被其他數整除的自然數。由於找不到乙個通項公式來表示所有的素數,所以對於數學家來說,素數一直是乙個未解之謎。像著名的 哥德 猜想 孿生素數猜想,幾百年來不知吸引了世界上多少優秀的數學...