2015-01-12 24 views
0

我需要一個程序來找到第n個Fibonacci數第n個Fibonacci數和這裏是我的代碼:尋找n個大如10^19

fib,num2 = 0,1 
for i in range(int(input())): 
    fib,num2 = num2,fib+num2 
print(fib) 

我的一些程序需要做的情況下,在不到2秒內就有10^19的大小。

我該如何編碼?

+0

最好的解決方案,以斐波那契數爲O(1) –

回答

0

我有類似的問題,我不知道,但你可以嘗試記憶化

var fib3 = (function(){ 
    var memo = {}; 
    return function(n) { 
     if (memo[n]) {return memo[n];} 
     return memo[n] = (n <= 2) ? 1 : fib3(n-2) + fib3(n-1); 
    }; 
})();