//var myInputNumber=10;
function fibonacci(num) {
let fib = [1,1];
for (let i = 2; i <= num; i++) {
fib.push(fib[i-1] + fib[i-2]);
}
return fib;
}
console.log(fibonacci(10));
完整的javascript新手点击这里。我需要一个家庭作业的帮助。我有这项工作,并显示高达x(为了更容易显示)斐波那契数字。
以上代码的结果如下: 1,1,2,3,5,8,13,21,34,55,89
我希望能够做的是指定起始数字/点(例如,>=10),并使其仅显示从该点开始的数字。
所以如果我的输入数字是10,我想要的结果是13,21,34,55,89。
发布于 2018-10-13 04:28:40
使用数组filter
并在回调函数中返回那些大于作为参数传递的数字的元素
function fibonacci(num) {
let fib = [1, 1];
for (let i = 2; i <= num; i++) {
fib.push(fib[i - 1] + fib[i - 2]);
}
return fib.filter(function(item) {
return item > num
});
}
console.log(fibonacci(10));
发布于 2018-10-13 04:34:06
只需添加另一个变量
function fibonacci(num) {
let result = [];
let fib = [1,1];
for (let i = 2; i <= num; i++) {
let temp = fib[i-1] + fib[i-2];
fib.push(temp);
if(result>=num)
result.push(temp)
}
return result;
}
发布于 2018-10-13 04:53:44
您可能还想定义停止的限制。其余部分与现有代码非常相似
function fibonacci(num, limit) {
let fib = [1,1];
for (let i = num; i <= limit; i++) {
fib.push(fib[i-1] + fib[i-2]);
}
return fib;
}
https://stackoverflow.com/questions/52786574
复制相似问题