searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

生成斐波那契数列-算法学习

2023-07-10 03:46:20
4
0

题目详情:
请你编写一个生成器函数,并返回一个可以生成 斐波那契数列 的生成器对象。
斐波那契数列 的递推公式为 Xn = Xn-1 + Xn-2 。
这个数列的前几个数字是 0, 1, 1, 2, 3, 5, 8, 13 。

示例:
输入:callCount = 5
输出:[0,1,1,2,3]

解题思路:
创建一个生成器函数 fibonacciGenerator,接受一个参数 callCount,用于指定要生成的斐波那契数列的数量。
初始化前两个斐波那契数 n1 和 n2 分别为 0 和 1。
使用 yield 关键字逐个生成斐波那契数,每次生成后更新 n1 和 n2 的值,生成总数达到 callCount 后停止生成。

代码实现:
function* fibonacciGenerator(callCount) {
    let n1 = 0;
    let n2 = 1;

    for (let i = 0; i < callCount; i++) {
        yield n1;
        [n1, n2] = [n2, n1 + n2];
    }
}

// 测试调用
let callCount = 5;
let fibonacciGen = fibonacciGenerator(callCount);

let result = Array.from(fibonacciGen);

console.log(result);

0条评论
作者已关闭评论
t****m
98文章数
1粉丝数
t****m
98 文章 | 1 粉丝
t****m
98文章数
1粉丝数
t****m
98 文章 | 1 粉丝
原创

生成斐波那契数列-算法学习

2023-07-10 03:46:20
4
0

题目详情:
请你编写一个生成器函数,并返回一个可以生成 斐波那契数列 的生成器对象。
斐波那契数列 的递推公式为 Xn = Xn-1 + Xn-2 。
这个数列的前几个数字是 0, 1, 1, 2, 3, 5, 8, 13 。

示例:
输入:callCount = 5
输出:[0,1,1,2,3]

解题思路:
创建一个生成器函数 fibonacciGenerator,接受一个参数 callCount,用于指定要生成的斐波那契数列的数量。
初始化前两个斐波那契数 n1 和 n2 分别为 0 和 1。
使用 yield 关键字逐个生成斐波那契数,每次生成后更新 n1 和 n2 的值,生成总数达到 callCount 后停止生成。

代码实现:
function* fibonacciGenerator(callCount) {
    let n1 = 0;
    let n2 = 1;

    for (let i = 0; i < callCount; i++) {
        yield n1;
        [n1, n2] = [n2, n1 + n2];
    }
}

// 测试调用
let callCount = 5;
let fibonacciGen = fibonacciGenerator(callCount);

let result = Array.from(fibonacciGen);

console.log(result);

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0