費式数列のC言語実現
Fibonacciは1200年代のヨーロッパの数学者で、著書の中で「1匹の免子が毎月1匹の小免子を産むと、1ヶ月後に小免子も生産を開始する.最初は1匹の免子しかなく、1ヶ月後には2匹の免子があり、2ヶ月後には3匹の免子があり、3ヶ月後には5匹の免子(小免子が生産に投入される)がある......」と述べている.この例をよく理解していなければ、図を挙げると分かるように、新生の小免子に注意するには1ヶ月が長期にわたって生産を開始する必要があり、同様の道理で植物の成長にも用いることができる.これがFibonacci数列であり、一般的にはフェルト数列と呼ばれている.例えば以下:1、1、2、3、5、8、13、21、34、55、89......
解法
説明するように、フェルト数列は以下のように定義できます.
fn = fn-1 + fn-2 if n > 1
fn = n if n = 0, 1
C言語実現
解法
説明するように、フェルト数列は以下のように定義できます.
fn = fn-1 + fn-2 if n > 1
fn = n if n = 0, 1
C言語実現
#include <stdio.h>
#include <stdlib.h>
#define N 20
int main(void) {
int Fib[N] = {0};
int i;
Fib[0] = 0;
Fib[1] = 1;
for(i = 2; i < N; i++)
Fib[i] = Fib[i-1] + Fib[i-2];
for(i = 0; i < N; i++)
printf("%d ", Fib[i]);
printf("
");
return 0;
}