関数を使ってフィボナッチ数列を求める

C++C++Beginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、関数を使ってフィボナッチ数列を求める C++ プログラムを書く方法を学びます。この問題に対する 2 つの異なる解決策を紹介します。必要に応じてどちらかを選択できます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/ControlFlowGroup -.-> cpp/while_loop("While Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") subgraph Lab Skills cpp/for_loop -.-> lab-96187{{"関数を使ってフィボナッチ数列を求める"}} cpp/while_loop -.-> lab-96187{{"関数を使ってフィボナッチ数列を求める"}} cpp/output -.-> lab-96187{{"関数を使ってフィボナッチ数列を求める"}} cpp/user_input -.-> lab-96187{{"関数を使ってフィボナッチ数列を求める"}} cpp/files -.-> lab-96187{{"関数を使ってフィボナッチ数列を求める"}} end

コードの記述

ここでは、フィボナッチ数列を求めるコードを記述します。2 つの異なるプログラムを書きます。1 つ目は、n 項までのフィボナッチ数列を求めるプログラムで、2 つ目は特定の数までのフィボナッチ数列を求めるプログラムです。

プログラム 1: n 項までのフィボナッチ数列

このプログラムは、n 項までのフィボナッチ数列を生成します。

#include <iostream>
using namespace std;

void fibonacci(int n) {
    int t1 = 0, t2 = 1, nextTerm = 0;

    cout << "Fibonacci Series: ";

    for (int i = 1; i <= n; ++i) {
        // 最初の 2 項を表示します。
        if(i == 1) {
            cout << t1 << ", ";
            continue;
        }
        if(i == 2) {
            cout << t2 << ", ";
            continue;
        }
        nextTerm = t1 + t2;
        t1 = t2;
        t2 = nextTerm;

        cout << nextTerm << ", ";
    }
}

int main() {
    int n;

    cout << "Enter the number of terms: ";
    cin >> n;

    fibonacci(n);

    return 0;
}
プログラム 2: 特定の数までのフィボナッチ数列

このプログラムは、特定の数までのフィボナッチ数列を生成します。

#include <iostream>
using namespace std;

void fibonacci(int n) {
    int t1 = 0, t2 = 1, nextTerm = 0;

    // 常に 0 と 1 である最初の 2 項を表示します
    cout << "Fibonacci Series: " << t1 << ", " << t2 << ", ";

    nextTerm = t1 + t2;

    while(nextTerm <= n) {
        cout << nextTerm << ", ";
        t1 = t2;
        t2 = nextTerm;
        nextTerm = t1 + t2;
    }
}

int main() {
    int n;

    cout << "Enter a positive number: ";
    cin >> n;

    fibonacci(n);

    return 0;
}

コードのコンパイルと実行

上記のプログラムをコンパイルして実行するには、以下の手順に従ってください。

  • ターミナルを開き、~/project ディレクトリに移動します
  • コードをコンパイルするには、次のコマンドを入力します。
g++ main.cpp -o main
  • プログラムを実行するには、次のコマンドを入力します。
./main
  • プログラムに要求される入力を入力します。

まとめ

この実験では、関数を使ってフィボナッチ数列を求める C++ プログラムを書く方法を学びました。n 項までのフィボナッチ数列を求めるプログラムと、特定の数までのフィボナッチ数列を求めるプログラムの 2 つを書きました。