フィボナッチ数列とは、数列の最後の項が最初の 2 つの項の合計に等しいことを指します。コードでは、 a[i]=a[ を使用します。 i-1] a[i-2] が実装されます。
ウサギが赤ちゃんを産む典型的な問題
古典的な問題: 赤ちゃんを毎月産むつがいのウサギがいます。生後 3 か月目 ウサギのつがい ウサギが 3 か月目になると、毎月次のつがいが生まれ、各つがいが生き残ると仮定して、毎月のつがいの数を求めるプログラムを作成します。
関連ビデオ チュートリアルの推奨事項: Java 教育ビデオ
コード例:
コア コード、フィボナッチ数列 (後の項は最初の 2 つの項と等しい)用語と):
public static void getTuTu(int[] tutu, int n) { if (n == 1) { System.out.println("第一个月兔子对数为1"); } else if (n == 2) { System.out.println("第二个月兔子对数为1"); } else { tutu[0] = 1; tutu[1] = 1; System.out.println("第1个月兔子对数为1"); System.out.println("第2个月兔子对数为1"); for (int i = 2; i < n; i++) { tutu[i] = tutu[i - 1] + tutu[i - 2];//数组记录兔子对数 System.out.println("第" + (i + 1) + "个月的兔子对数为" + tutu[i]); } } }
完全なコード:
package day191125; import java.util.Scanner; public class TuZi { public static void main(String[] args) { Scanner input = new Scanner(System.in); while (true) { System.out.println("========="); System.out.println("输入求第几个月的兔子:"); int n = input.nextInt(); if (n <= 0) { System.out.println("输入错误重新输入"); continue; } int[] tutu = new int[n]; getTuTu(tutu, n); } } public static void getTuTu(int[] tutu, int n) { if (n == 1) { System.out.println("第一个月兔子对数为1"); } else if (n == 2) { System.out.println("第二个月兔子对数为1"); } else { tutu[0] = 1; tutu[1] = 1; System.out.println("第1个月兔子对数为1"); System.out.println("第2个月兔子对数为1"); for (int i = 2; i < n; i++) { tutu[i] = tutu[i - 1] + tutu[i - 2]; System.out.println("第" + (i + 1) + "个月的兔子对数为" + tutu[i]); } } } }
実行結果グラフ:
もちろん実装メソッド これ以外にもさまざまなメソッドがありますが、ここでは 1 つのメソッドを簡単に紹介します。
さらに関連するチュートリアルを知りたい場合は、Java 入門学習にアクセスしてください。誰もが一緒に議論して学習することができます。
以上がJavaでのフィボナッチ数列の簡単な実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。