Java再帰アルゴリズムのフィボナッチ数列のN番目の項目

黄金比シーケンスとしても知られるフィボナッチ数列は、イタリアの数学者レオナルドフィボナッチ数によって提案されました。フィボナッチ数列は、1、1、2、3、5、8、13、21、34、...のような数列を指します。この数列は、第3項から始まり、各項は前の2つの合計に等しくなります。数学的には、フィボナッチ数列を繰り返す方法は次のように定義されます。

F(1)= 1、F(2)= 1、  F(n)= F(n – 1)+ F(n – 2)(n≥3  、n∈N  *)

1.フィボナッチ数列の再帰的終了条件は
明らかに見やすいです。フィボナッチ数列の定義を観察すると、n=1またはn=2の場合にフィボナッチ数列の再帰的終了条件であることが簡単にわかります。このとき、フィボナッチ数列の特定の値を指定できます。

2.フィボナッチ数列が再帰的に終了するときの処理方法は
同じです。フィボナッチ数列の再帰的定義に基づいて、フィボナッチ数列が終了条件n=1またはn=2に達すると、  Fに対応することも簡単にわかります。 (1)= 1、F(2)= 1、これは再帰が終了したときのフィボナッチ数列の対応する値です。

3.フィボナッチ数列の再帰的反復論理抽出
フィボナッチ数列の数学的定義によれば、F(n)= F(n – 1)+ F(n – 2)(n≥3  、n∈N  *)、つまり、n≥3の場合  、フィボナッチ数列のこの項目の値は、前の2つの項目の値の合計に等しいため、比較的大きなフィボナッチ数列を解くことは、より小さな値のフィボナッチ数列を解くことに変換できます。 。ボナッチ数列の値。再帰的に再利用できる繰り返し論理が含まれています。

コードは次のように表示されます。

import java.util.Scanner;

public class Test24 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请斐波那契数列的项数:");
        int num=scanner.nextInt();
        int s=func(num);
        System.out.println("斐波那契数列的第"+num+"项为"+s);
    }

    private static int func(int num) {
        if(num==1||num==2){
            return 1;
        }else{
            return func(num-1)+func(num-2);
        }
    }
}

結果の達成:

 

おすすめ

転載: blog.csdn.net/m0_62218217/article/details/121585426