如何找到较大的斐波那契数?

时间:2019-10-10 13:41:51

标签: javascript fibonacci

我遇到了问题,我必须编写一个程序(使用JavaScript)以返回第n个斐波那契数,当我的输入不是很大时,该程序可以正常工作:

function nthFibConstantTime(n) {
    let phi = (1 + Math.sqrt(5)) / 2;
    return Math.round(Math.pow(phi, n) / Math.sqrt(5));
}
nthFibConstantTime(5) // 5
nthFibConstantTime(9) // 34
nthFibConstantTime(788) // 2.1516692574825388e+164

但是,使用输入n,例如n = 1500,程序返回Infinity,这不是我期望的。

function nthFibConstantTime(n) {
    let phi = (1 + Math.sqrt(5)) / 2;
    return Math.round(Math.pow(phi, n) / Math.sqrt(5));
}
nthFibConstantTime(1500) // Infinity

任何人都可以帮我用JavaScript编写该程序以返回第n个斐波那契数字,如果输出太大而无法用JavaScript表示数字,则输出应返回MOD 10 ^ 6 + 7(第n个%10 ^ 6 + 7)。

约束输入:整数n(0

0 个答案:

没有答案