Learn-c-by-examples-fibonacci-non-recursive-program-in-c
提供:Dev Guides
Cのフィボナッチ数列プログラム
フィボナッチ数列は、2つの以前の数値を追加することにより、後続の数値を生成します。 フィボナッチ数列は、F〜0〜とF〜1〜の2つの数字から始まります。 F〜0〜およびF〜[.small]#1#〜の初期値は、それぞれ0、1、または1、1になります。
フィボナッチ数列は次の条件を満たす-
Fn = Fn-1 + Fn-2
フィボナッチ数列は次のようになります-
F〜8〜= 0 1 1 2 3 5 8 13
または、これ-
F〜8〜= 1 1 2 3 5 8 13 21
アルゴリズム
このプログラムのアルゴリズムは非常に簡単です-
START
Step 1 → Take integer variable A, B, C
Step 2 → Set A = 0, B = 0
Step 3 → DISPLAY A, B
Step 4 → C = A + B
Step 5 → DISPLAY C
Step 6 → Set A = B, B = C
Step 7 → REPEAT from 4 - 6, for n times
STOP
疑似コード
procedure fibonacci : fib_num
IF fib_num less than 1
DISPLAY 0
IF fib_num equals to 1
DISPLAY 1
IF fib_num equals to 2
DISPLAY 1, 1
IF fib_num greater than 2
Pre = 1,
Post = 1,
DISPLAY Pre, Post
FOR 0 to fib_num-2
Fib = Pre + Post
DISPLAY Fib
Pre = Post
Post = Fib
END FOR
END IF
end procedure
実装
このアルゴリズムの実装は以下のとおりです-
#include <stdio.h>
int main() {
int a, b, c, i, n;
n = 4;
a = b = 1;
printf("%d %d ",a,b);
for(i = 1; i <= n-2; i++) {
c = a + b;
printf("%d ", c);
a = b;
b = c;
}
return 0;
}
出力
プログラムの出力は次のようになります-
1 1 2 3