アルゴリズム - フィボナッチ数列を再帰的に生成する

ヒント: 記事を書いた後、目次を自動生成することができます. 生成方法は右のヘルプドキュメントを参照してください.


序文

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

例: 人工知能の継続的な発展に伴い、機械学習の技術がますます重要になってきており、多くの人が機械学習を学び始めています. この記事では、機械学習の基本的な内容を紹介します.


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

1. フィボナッチ数列を再帰的に生成する

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

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