C++でフィボナッチ数列の実装方法
フィボナッチ数列を C++ で実装する一般的な方法は再帰を使用することです。フィボナッチ数列の定義は最初の2つの数字が1で、それ以降の各数字は直前の2つの数字の和です。
再帰でフィボナッチ数列を生成するサンプルコードを以下に示します。
#include <iostream>
int fibonacci(int n) {
// 基本情况:当n为0或1时,直接返回1
if (n <= 1) {
return 1;
}
// 递归调用:返回前两个斐波那契数的和
return fibonacci(n-1) + fibonacci(n-2);
}
int main() {
int n = 10; // 要计算的斐波那契数列的长度
// 输出斐波那契数列的前n个数字
for (int i = 0; i < n; i++) {
std::cout << fibonacci(i) << " ";
}
return 0;
}
このプログラムは1から10までのフィボナッチ数列を出力します:1 1 2 3 5 8 13 21 34 55。
しかし、再帰によるフィボナッチ数の計算は、大きな数を求めようとすると、同じ数字を何度も計算するため非常に遅くなります。効率を向上させるために、イテレーション手法やメモ化手法でフィボナッチ数を求める方法があります。