具體代碼如下:
創(chuàng)新互聯(lián)建站主營同江網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,手機APP定制開發(fā),同江h(huán)5微信小程序開發(fā)搭建,同江網(wǎng)站營銷推廣歡迎同江等地區(qū)企業(yè)咨詢
public class Test {
public int fib(int n)
{
if(n==1 || n==2)//當n=1或2時 返回1
{
return 1;
}
return fib(n-1)+fib(n-2);//返回前兩項的和
}
public static void main(String[] args) {
Test t = new Test();
for (int i = 1; i = 15; i++) {
System.out.printf ("fib(%d)=%d\n",i,t.fib(i));
}
}
}
運行結果:
fib(1)=1
fib(2)=1
fib(3)=2
fib(4)=3
fib(5)=5
fib(6)=8
fib(7)=13
fib(8)=21
fib(9)=34
fib(10)=55
fib(11)=89
fib(12)=144
fib(13)=233
fib(14)=377
fib(15)=610
Java編程:三種方法實現(xiàn)斐波那契數(shù)列
其一方法:
public?class?Demo2?{??
//?定義三個變量方法??
public?static?void?main(String[]?args)?{??
int?a?=?1,?b?=?1,?c?=?0;??
System.out.println("斐波那契數(shù)列前20項為:");??
System.out.print(a?+?"\t"?+?b?+?"\t");??
//因為前面還有兩個1、1?所以i=18??
for?(int?i?=?1;?i?=?18;?i++)?{??
c?=?a?+?b;??
a?=?b;??
b?=?c;??
System.out.print(c?+?"\t");??
if?((i?+?2)?%?5?==?0)??
System.out.println();??
}??
}??
}
java編程:三種方法實現(xiàn)斐波那契數(shù)列
其二方法:
public?class?Demo3?{??
//?定義數(shù)組方法??
public?static?void?main(String[]?args)?{??
int?arr[]?=?new?int[20];??
arr[0]?=?arr[1]?=?1;??
for?(int?i?=?2;?i??arr.length;?i++)?{??
arr[i]?=?arr[i?-?1]?+?arr[i?-?2];??
}??
System.out.println("斐波那契數(shù)列的前20項如下所示:");??
for?(int?i?=?0;?i??arr.length;?i++)?{??
if?(i?%?5?==?0)??
System.out.println();??
System.out.print(arr[i]?+?"\t");??
}??
}??
}
Java編程:三種方法實現(xiàn)斐波那契數(shù)列
其三方法:
public?class?Demo4?{??
//?使用遞歸方法??
private?static?int?getFibo(int?i)?{??
if?(i?==?1?||?i?==?2)??
return?1;??
else??
return?getFibo(i?-?1)?+?getFibo(i?-?2);??
}??
public?static?void?main(String[]?args)?{??
System.out.println("斐波那契數(shù)列的前20項為:");??
for?(int?j?=?1;?j?=?20;?j++)?{??
System.out.print(getFibo(j)?+?"\t");??
if?(j?%?5?==?0)??
System.out.println();??
}??
}??
}
同一道題用各種不同的思路去思考解決,也是對知識綜合運用的鍛煉。
斐波納契數(shù)列,又稱黃金分割數(shù)列,指的是這樣一個數(shù)列:1、1、2、3、5、8、13、21、……在數(shù)學上,斐波納契數(shù)列以如下被以遞歸的方法定義:F0=0,F(xiàn)1=1,F(xiàn)n=F(n-1)+F(n-2)(n=2,n∈N*)。
以下是Java代碼實現(xiàn)(遞歸與遞推兩種方式):
import?java.util.Scanner;
public?class?Fibonacci?{
public?static?void?main(String[]?args)?{
Scanner?scanner?=?new?Scanner(System.in);
System.out.println("Please?input?this?fibonacci?n:");
int?n?=?scanner.nextInt();?//?假設輸入為大于零的整數(shù)
System.out.println(fibonacci(6)?+?":"?+?fibonacciNormal(6));
int?sum?=?0;
for(int?i?=?1;?i?=?n;?i++){
sum?+=?fibonacci(i);
}
System.out.println(sum);
}
//?遞歸實現(xiàn)方式
public?static?int?fibonacci(int?n){
if(n?=?2){
return?1;
}else{
return?fibonacci(n-1)?+?fibonacci(n-2);
}
}
//?遞推實現(xiàn)方式
public?static?int?fibonacciNormal(int?n){
if(n?=?2){
return?1;
}
int?n1?=?1,?n2?=?1,?sn?=?0;
for(int?i?=?0;?i??n?-?2;?i?++){
sn?=?n1?+?n2;
n1?=?n2;
n2?=?sn;
}
return?sn;
}
}
思路:
斐波那契數(shù)列
第0項是0,第1項是第一個1。
這個數(shù)列從第三項開始,每一項都等于前兩項之和。
java代碼如下:
import?java.util.Scanner;
/**
*?斐波那契數(shù)列
第0項是0,第1項是第一個1。
這個數(shù)列從第三項開始,每一項都等于前兩項之和
*?@author?young
*
*/
public?class?Fei?{
public?static?void?func(int?n)?{
if?(n??3)?{
System.out.println("0,1");
}?else?if?(n??3)?{
int?a=0,?b=1,?c=0;
??System.out.print(a?+?"????"?+?b?+?"????");
??for?(int?i?=?3;?i?=?n;?i++)?{
???c?=?a?+?b;
???a?=?b;
???b?=?c;
???System.out.print(c?+?"????");
??}
}?else?if?(n??0)?{
System.out.println("輸入數(shù)字不符合要求");
}
}
public?static?void?main(String[]?args)?{
Fei?f?=?new?Fei();
Scanner?input?=?new?Scanner(System.in);
System.out.print("請輸入斐波那契數(shù)列的列數(shù)n,按ENTER:");
int?num?=?input.nextInt();
System.out.println("斐波那契數(shù)列為:"?);?
func(num);
}
}
運行結果如下:
分享名稱:斐波那契時鐘java代碼 Java斐波那契
網(wǎng)頁路徑:http://muchs.cn/article16/doccidg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、電子商務、建站公司、用戶體驗、移動網(wǎng)站建設、App設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)