搜尋
首頁JavaJava基礎java實作斐波那契數列的三種方法

java實作斐波那契數列的三種方法

Dec 06, 2019 pm 12:00 PM
java斐波那契數列方法

java實作斐波那契數列的三種方法

斐波那契數列(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項開始,每列從第3項開始,每列從第3項開始,每列從第3項開始,每列一項都等於前兩項之和。

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

免費線上影片教學分享:java線上影片

現在,我們使用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入門學習

#

以上是java實作斐波那契數列的三種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除
Java中有哪些不同的垃圾收集算法(串行,並行,CMS,G1,ZGC)?Java中有哪些不同的垃圾收集算法(串行,並行,CMS,G1,ZGC)?Mar 14, 2025 pm 05:06 PM

本文討論了各種Java垃圾收集算法(串行,並行,CMS,G1,ZGC),它們的性能影響和適合大量堆的應用。

什麼是Java虛擬機(JVM),它在內部如何工作?什麼是Java虛擬機(JVM),它在內部如何工作?Mar 14, 2025 pm 05:05 PM

本文討論了Java虛擬機(JVM),詳細介紹了其在不同平台運行Java程序中的作用。它說明了JVM的內部流程,密鑰組件,內存管理,垃圾收集和性能Optimizatio

如何使用Java的Nashorn Engine用JavaScript腳本?如何使用Java的Nashorn Engine用JavaScript腳本?Mar 14, 2025 pm 05:00 PM

Java的Nashorn Engine可以在Java應用程序中啟用JavaScript腳本。關鍵步驟包括設置Nashorn,管理腳本和優化性能。主要問題涉及安全性,內存管理和未來兼容性

如何使用Java的Try-with-Resources語句進行自動資源管理?如何使用Java的Try-with-Resources語句進行自動資源管理?Mar 14, 2025 pm 04:59 PM

Java的Try-with-Resources通過自動關閉文件流或數據庫連接等資源來簡化資源管理,從而提高代碼可讀性和可維護性。

如何使用Java的枚舉來表示固定的值集?如何使用Java的枚舉來表示固定的值集?Mar 14, 2025 pm 04:57 PM

Java枚舉代表固定的值集,通過自定義方法和構造函數提供類型安全性,可讀性和其他功能。它們增強了代碼組織,可用於開關語句中以進行有效的價值處理。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境