亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java有幾種方法實現斐波那契數列

發布時間:2020-06-18 13:44:17 來源:億速云 閱讀:232 作者:鴿子 欄目:編程語言

斐波那契數列(Fibonacci sequence)的定義:斐波那契數列指的是這樣一個數列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........,這個數列從第3項開始,每一項都等于前兩項之和。

斐波那契數列又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”。在數學上,斐波納契數列以如下被以遞歸的方法定義:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。

現在,我們使用Java來打印斐波那契數列的前10個數字:

第一種方式:直接賦值法

public class PrintFib {
 
	public static void main(String[] args) {
		
		//定義第一個加數a,初始值為1;定義第二個加數b,初始值為1;定義兩個加數之和為c,初始值為0
		int a = 1;
		int b = 1;
		int c = 0;
		//首先在控制臺打印出數列中第一個數和第二個數的值
		System.out.print(a + "\t" + b + "\t");
		//建立一個for循環,用于循環輸出數列中第三位至第十位的數字
		for (int i = 3; i <= 10; i++) {
			//第三個數即為c,a+b等于c的值
			c = a + b;
			//將第一個加數a賦值為數列中的第二個數b的值
			a = b;
			//將第二個加數b賦值為數列中的第三個數c的值
			b = c;
			//在第二次循環打印時,將打印數列中的第四個數為:b + c = b + (a + b) 
			System.out.print(c + "\t");
		}
	}
}

該方法還可簡化為:

public class PrintFib {
	
	public static void main(String[] args) {
		
		int a = 1;
		int b = 1;	
		for(int i = 1;i <= 5;i++) {	
			//循環打印a,b兩個數,即兩個兩個打印
			System.out.print(a + "\t" + b + "\t");
			//打印第三、四個數
			a = a + b;
			b = a + b;		
		}
	}
}

第二種方式:建立并打印數組

public class PrintFib {
	
	public static void main(String[] args) {
		
		//建立一個長度為10的數組用于存放數列中的數
		int[] arr = new int[10];
		//先定義數列中的第一個和第二個數
		arr[0] = 1;
		arr[1] = 1;
		//建立一個for循環,打印數組中的元素
		for(int i = 0;i < arr.length;i++) {
			//判斷:當打印第三個數前,給第三個數賦值
			if(i > 1) {
				arr[i] = arr[i - 2] + arr[i - 1];
			}
			System.out.print(arr[i] + "\t");
		}
		
	}
}

第三種方式:調用函數

public class PrintFib {
	
	//建立一個函數,用于計算數列中的每一項
	public static int fib(int num) {
		//判斷:是否是第一個數和第二個數
		if(num == 1 || num == 2) {
			return 1;
		}else {
			//循環調用本函數
			return fib(num - 2) + fib(num - 1);
		}
	}
	
	//主函數(程序入口)
	public static void main(String[] args) {
		
		//建立一個for循環,用于打印第一個至第十個數字
		for(int i = 1;i <= 10;i++) {
			//調用函數進行打印
			System.out.print(fib(i) + "\t");
		}	
	}
	
}

以上就是java實現斐波那契數列的三種方法的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扎赉特旗| 垣曲县| 许昌县| 灌南县| 宁乡县| 鲁山县| 南通市| 信宜市| 阜新| 许昌市| 通海县| 龙海市| 从江县| 拜泉县| 仪陇县| 望谟县| 甘孜| 门源| 手游| 叙永县| 修水县| 霍山县| 泗水县| 西乌珠穆沁旗| 贵南县| 托克逊县| 游戏| 隆林| 乡城县| 通许县| 文水县| 广水市| 正镶白旗| 平乐县| 东光县| 河北区| 兴山县| 翁牛特旗| 桑植县| 奎屯市| 海兴县|