對於Python 3,是否有可能在特定時間範圍內找到函數中可能的最高計算數? 例如,如果某件事情幾乎會「永遠」消失,是否有辦法找出在1分鐘內可能計算的最高數字?在特定的時間跨度內查找最高可能數量?
下面是代碼:
def fibonacci5(n):
f1, f2 = 1, 0
while n > 0:
f1, f2 = f1 + f2, f1
n -= 1
return f2
我嘗試使用可能的解決方案爲發現通過timeit需要1秒的數量。
repeats = 10
t = timeit.Timer("fibonacci5(500000)", globals=globals())
time = t.timeit(repeats)
print ("average execution time:", time/repeats)
但500.000平均需要2,6s,而250.000平均需要0.6s - 因此解決方案無法工作。
這完全取決於算法是什麼。我們需要更多的背景。 – Carcigenicate
在這種情況下,它用於計算斐波納契數。 –
那麼,斐波那契數列是無窮afaik,所以任何曾經寫過的斐波那契函數都需要在序列結束前停下來的能力。你是否查找過斐波那契函數的實現? – Carcigenicate