/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @return int整型
*/
function Fibonacci(n) {
// write code here
if (n <= 0) return 0; // 如果 n 小于等于 0,返回 0(根据题目描述,n 是正整数,这里可以省略)
if (n === 1 || n === 2) return 1; // fib(1) = 1, fib(2) = 1
let a = 1,
b = 1; // 初始化 fib(1) 和 fib(2)
let result = 0;
// 从 3 开始迭代计算
for (let i = 3; i <= n; i++) {
result = a + b; // fib(n) = fib(n-1) + fib(n-2)
a = b; // 更新 fib(n-2)
b = result; // 更新 fib(n-1)
}
return result;
}
module.exports = {
Fibonacci: Fibonacci,
};