はじめに
この実験では、再帰を使ってフィボナッチ数列を表示する C プログラムを作成する方法を学びます。フィボナッチ数列とは、その数列の最初の 2 つの要素が 1、1 であり、それ以降の各数が前の 2 つの数の和である数列のことを指します。
この実験では、再帰を使ってフィボナッチ数列を表示する C プログラムを作成する方法を学びます。フィボナッチ数列とは、その数列の最初の 2 つの要素が 1、1 であり、それ以降の各数が前の 2 つの数の和である数列のことを指します。
~/project/
ディレクトリに、 main.c
という名前の新しい C ファイルを作成します。
必要な標準入出力ライブラリ stdio.h
をインクルードします。
#include<stdio.h>
printFibo
関数を定義するパラメータ aj
を持つ printFibo
という名前の関数を定義します。この関数は、フィボナッチ数列を表示するために使用されます。
void printFibo(int aj)
{
static long int first = 0, second = 1, sum;
if(aj > 1)
{
sum = first + second;
first = second;
second = sum;
printf("%ld ", sum);
printFibo(aj-1); // recursive call
}
else
{
// after the elements, for line break
printf("\n\n\n");
}
}
main
関数を定義するメイン関数を定義します。ユーザーからフィボナッチ数列の要素の総数を入力として受け取り、それを printFibo
関数に渡します。
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int k, n;
long int i = 0, j = 1;
printf("Enter the length of the Fibonacci series: ");
scanf("%d", &n);
printf("\n\nFirst %d terms of the Fibonacci series are:\n\n\n",n);
printf("%d ", 1);
printFibo(n);
printf("\n\n\t\t\tCoding is Fun!\n\n\n");
return 0;
}
ここで、再帰を使ってフィボナッチ数列を表示する完全なプログラムを以下に示します。
#include<stdio.h>
// 関数を宣言
void printFibo(int);
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int k, n;
long int i = 0, j = 1;
printf("Enter the length of the Fibonacci series: ");
scanf("%d", &n);
printf("\n\nFirst %d terms of the Fibonacci series are:\n\n\n",n);
printf("%d ", 1);
printFibo(n);
printf("\n\n\t\t\tCoding is Fun!\n\n\n");
return 0;
}
void printFibo(int aj)
{
static long int first = 0, second = 1, sum;
if(aj > 1)
{
sum = first + second;
first = second;
second = sum;
printf("%ld ", sum);
printFibo(aj-1); // 再帰呼び出し
}
else
{
// 要素の後に改行するため
printf("\n\n\n");
}
}
この実験では、再帰を使ってフィボナッチ数列を表示する C プログラムを作成する方法を学びました。関数を定義し、必要な数列を反復処理するために再帰を利用するプロセスを理解しました。