C 言語によるフィボナッチ数列の生成

CBeginner
オンラインで実践に進む

はじめに

フィボナッチ数列とは、各数がその直前の 2 つの数の和になる数列です。この実験では、C 言語でプログラムを書いてフィボナッチ数列を生成する方法を学びます。

main.c ファイルを開く

まずは、好きなテキストエディタで main.c ファイルを開きます。このファイルは ~/project/ ディレクトリに作成されています。

変数を宣言する

このステップでは、プログラムで使用するすべての変数を宣言します。このプログラムに必要な変数は以下の通りです。

  • num:生成するフィボナッチ数列の項数を格納する整数。
  • a:数列の最初の数を格納する整数。
  • b:数列の 2 番目の数を格納する整数。
  • c:直前の 2 つの数の和を格納する整数。
  • i:これまでに生成された項数を数える整数。
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

void fibonacci(int num);

int main()
{
    int num = 0;
    printf("Enter number of terms: ");
    scanf("%d", &num);

    fibonacci(num);

    return 0;
}

fibonacci() 関数を定義する

このステップでは、fibonacci() 関数を定義します。この関数は 1 つの引数 num を取り、これは生成するフィボナッチ数列の項数を表します。この関数は while ループを使って数列を生成します。

void fibonacci(int num)
{
    int a, b, c, i = 3;
    a = 0;
    b = 1;

    if(num == 1)
        printf("%d",a);

    if(num >= 2)
        printf("%d\t%d", a, b);

    while(i <= num)
    {
        c = a + b;
        printf("\t%d", c);
        a = b;
        b = c;
        i++;
    }
}

プログラムを実行する

プログラムを実行するには、main.c ファイルをコンパイルして実行します。このプログラムは、ユーザーに生成するフィボナッチ数列の項数を入力するよう促します。入力が提供されると、プログラムは数列を生成して画面に表示します。

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

void fibonacci(int num);

int main()
{
    int num = 0;
    printf("Enter number of terms: ");
    scanf("%d", &num);

    fibonacci(num);

    return 0;
}

void fibonacci(int num)
{
    int a, b, c, i = 3;
    a = 0;
    b = 1;

    if(num == 1)
        printf("%d",a);

    if(num >= 2)
        printf("%d\t%d", a, b);

    while(i <= num)
    {
        c = a + b;
        printf("\t%d", c);
        a = b;
        b = c;
        i++;
    }
}

まとめ

この実験では、C 言語でフィボナッチ数列を生成するプログラムを書く方法を学びました。関数とループの概念を学びました。また、C 言語で変数を宣言および定義する方法も学びました。最後に、ユーザーに生成するフィボナッチ数列の項数を入力するよう促し、それに応じて数列を生成するプログラムを書くことができました。