ゆるゆるプログラミング

・フィボナッチ数列

フィボナッチ数列は、イタリアの数学者レオナルド・フィボナッチが考えた「ウサギ算」から導かれる数列です。この数列は、自然界の現象に数多く出現し、ヒマワリの種の配列にもフィボナッチ数列の法則が働いているといわれています。それでは、フィボナッチ数列とはどうのようなものかを見ていきましょう。

n番目のフィボナッチ数をFnで表すと、Fnは再帰的に

  F0 = 0
  F1 = 1
  Fn+2 = Fn + Fn+1 (n≧0)

で定義されます。

この式をJavaのプログラムにしたものが以下です。

Fibonacchi.java ← クリックしてダウンロードページに移動
001:    public class Fibonacchi {
002:    	public static void main(String[] args) {
003:    		int f0, f1, fn;
004:    
005:    		f0 = 0;
006:    		System.out.println( f0 );
007:    
008:    		f1 = 1;
009:    		System.out.println( f1 );
010:    
011:    		for ( int i = 2; i <= 10; ++ i ) {
012:    			fn = f0 + f1;
013:    			System.out.println( fn );
014:    			f0 = f1;
015:    			f1 = fn;
016:    		}
017:    	}
018:    }

Fibonacchiを実行

C:\talavax\javasample>java Fibonacchi

n=0から10のフィボナッチ数を表示します。

Fibonacchi.javaの出力結果

0
1
1
2
3
5
8
13
21
34
55

ここからは、このソースコードを上から順番に解説していきます。

001:    public class Fibonacchi {

クラス名を、Fibonacchiとしています。

002:    	public static void main(String[] args) {

このmainメソッドからプログラムを実行します。

003:    		int f0, f1, fn;

このプログラムで使う変数を宣言しています。

005:    		f0 = 0;
006:    		System.out.println( f0 );
007:    
008:    		f1 = 1;
009:    		System.out.println( f1 );

F0とF1の値をそれぞれ変数に代入し、表示しています。

011:    		for ( int i = 2; i <= 10; ++ i ) {
012:    			fn = f0 + f1;
013:    			System.out.println( fn );
014:    			f0 = f1;
015:    			f1 = fn;
016:    		}

F2からF10の値を計算した結果をFnに代入し、表示しています。

■関連コンテンツ

ウサギ算 ウサギの増え方?
フィボナッチ数列(再帰) フィボナッチ数列
数学関数について 数学関数について解説
黄金比 最も美しい比率

■新着情報

2020.07.10 値の交換クラス クラスによる変数値を交換する方法を解説
2020.07.08 公約数 公約数
2020.07.08 最大公約数 1番大きい約数は?

■広告

フィギュア予約最大25%OFF+ポイント5%還元!ホビーサーチ

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

Topへ