gpt4 book ai didi

javascript - 使用数组作为输入参数实现斐波那契

转载 作者:行者123 更新时间:2023-12-02 23:44:34 27 4
gpt4 key购买 nike

任务内容:fib() 函数是实现斐波那契数列的正式公式。输入参数是函数完成后在数组中返回的字数。该函数应检查输入数据的正确性。

我已经实现了斐波那契,如下所示,但不知道如何使输入参数成为同一函数返回数字的数量。当我尝试使用循环函数时根本不起作用(给出 null 或未定义的结果)。另外,函数总是为我返回一个数字(n),那么它如何成为一个数组呢?

function fib(n) {


if (n <= 1) {
return n;
} else {
n = (n - 2) + (n - 1);
return n
}
}



console.log(fib(8))

最佳答案

如果要输入单独的数字inputs.map(c=> fib(c));

您可以使用 var arr = Array.from({length: 10}, (v, k) => fib(k)); 创建序列 fib 编号的数组。

或者像这样使用for循环

function fib(n) {
if (n <= 1) {
return n;
} else {
n = fib(n - 2) + fib(n - 1);
return n
}
}

// if you want to get sequence fib
var arr = Array.from({length: 10}, (v, k) => fib(k));
console.log(arr)

// use map if you input separate number
console.log('use map');
var inputs = [1, 4, 5, 8];
var outputs = inputs.map(c=> fib(c));
console.log(outputs)

// use for loop
var outputloops = [];
console.log('use for loop');
for(i =0; i< inputs.length; i++){
outputloops.push(fib(inputs[i]));
}

console.log(outputloops);

function fibwitharray(arr) {
var outputloops = [];

for(i =0; i< inputs.length; i++){
outputloops.push(fib(inputs[i]));
}
return outputloops;
}

function fib(n) {
if (n <= 1) {
return n;
} else {
n = fib(n - 2) + fib(n - 1);
return n
}
}

// if you want to get sequence fib
var arr = Array.from({length: 10}, (v, k) => fib(k));
console.log(arr)

// use map if you input separate number
console.log('use map');
var inputs = [1, 4, 5, 8];
var outputs = inputs.map(c=> fib(c));
console.log(outputs)

// use for loop
var outputloops = [];
console.log('use for loop');
for(i =0; i< inputs.length; i++){
outputloops.push(fib(inputs[i]));
}

console.log(outputloops);

And this is exact your requirement

function fib(n) {

const result = [0, 1];
for (var i = 2; i < n; i++) {
result.push(result[i-2] + result[i-1]);
}
return result; // or result[n-1] if you want to get the nth term

}

console.log(fib(8));

关于javascript - 使用数组作为输入参数实现斐波那契,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55912171/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com