斐波那契數列指的是:數列的後項等於前兩項的和,程式碼中我們用a[i]=a[i-1] a[i-2]實作。
典型兔子生小兔問題
古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對,假設每對小兔子都不死,程式實現求每個月兔子對數。
相關影片教學推薦:java教學影片
程式碼範例:
核心程式碼,斐波那契數列(後項等於前兩項的和):
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]); } } } }
運行結果圖:
java入門學習,歡迎大家一起來討論學習。
以上是java中斐波那契數列的簡單實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!