我需要制作一个程序来找到第n个Fibonacci数字,这是我的代码:
fib,num2 = 0,1
for i in range(int(input())):
fib,num2 = num2,fib+num2
print(fib)
我的程序在不到2秒的时间内完成的一些案例大到10 ^ 19。
我该怎么编码?
答案 0 :(得分: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);
};
})();