久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      java實(shí)現(xiàn)斐波那契數(shù)列的三種方法

      java實(shí)現(xiàn)斐波那契數(shù)列的三種方法

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

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

      免費(fèi)在線(xiàn)視頻教程分享:java在線(xiàn)視頻

      現(xiàn)在,我們使用Java來(lái)打印斐波那契數(shù)列的前10個(gè)數(shù)字:

      第一種方式:直接賦值法

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

      該方法還可簡(jiǎn)化為:

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

      第二種方式:建立并打印數(shù)組

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

      第三種方式:調(diào)用函數(shù)

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

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)