算法—递归生成斐波那契数列

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、递归生成斐波那契数列

F(n) = F(n-1) + F(n-2)

二、使用步骤

1.伪代码

代码如下(示例):

fibonacci(n):       // n 表示求数列中第 n 个位置上的数的值
    if n == 1:        // 设置结束递归的限制条件
        return 1
    if n == 2:        // 设置结束递归的限制条件
        return 1
    return fibonacci(n-1) + fibonacci(n-2)    // F(n) = F(n-1) + F(n-2)

2.c

代码如下(示例):

#include <stdio.h>
// index 表示求数列中第 index 个位置上的数的值
int fibonacci(int index) {
    
    
    // 设置结束递归的限制条件
    if (index == 1 || index == 2) {
    
    
        return 1;
    }
    // F(index) = F(index-1) + F(index-2)
    return fibonacci(index - 1) + fibonacci(index - 2);
}
int main()
{
    
    
    int i;
    // 输出前 10 个数
    for (i = 1; i <= 10; i++) {
    
    
        printf("%d ", fibonacci(i));
    }
    return 0;
}

总结

如下给大家提供了普通方式实现斐波那契数列的伪代码:
//连续输出长度为 n 的斐波那契数列

fibonacci(n):
    num1 <- 1    // 设置 num1 的初值为 1
    num2 <- 1    // 设置 num2 的初值为 1
    for i<-1 to n:
        Print(num1)              // 输出 num1 的值
        nextNum <- num1 + num2   // 将 num1+num2 的值赋值给 nextNum
        num1 <- num2             // num2 的值赋值给 num1
        num2 <- nextNum          // nextNum 的值赋值给 num2
        ```

猜你喜欢

转载自blog.csdn.net/lianghuajunone/article/details/123412409