導航:首頁 > 編程語言 > java斐波那契數列遞歸

java斐波那契數列遞歸

發布時間:2022-06-04 04:23:20

❶ 斐波那契數列在java中使用遞歸和循環哪個更好

public class A
{
public static void main(String[] args)
{
//列印斐波那契(Fibonacci)數列,求出前20項:1,1,2,3,5,8,13,21....
/*
int[] fib = new int[20];
fib[0] = 1;
fib[1] = 1;
for (int i=2;i<fib.length ;i++ )
{
fib[i] = fib[i-1]+fib[i-2];
}
//列印輸出
for (int i=0;i<fib.length ;i++ )
{
System.out.print(fib[i]+" ");
}
*/
我認為用循環好。

❷ (用java編程寫)遞歸計算Fibonacci數列的第5個值。

網路 java Fibonacci 函數
然後,修改 一下

~
~

❸ java用遞歸編程求斐波那契數列第n項

套數學里的就是了 f(0) = 1, f(1) = 1, f(2) = 2, ...

int fib(int i){
if( i < 2 ) return 1; // 遞歸結束的條件

return f(i -1) + f(i-2);

}

❹ java語言解決斐波那契數列問題

遞歸函數的定義:
遞歸函數即自調用函數,在函數體內直接或間接的調用自己,即函數的嵌套是函數本身。
遞歸方式:遞歸調用有直接遞歸和間接遞歸兩種方式。
直接遞歸:在函數中出現調用函數本身。
下面代碼求斐波那契數列第n項,斐波那契數列第一和第二項是1,後面每一項是前兩項之和,即1、1、2、3、5、8、13
...。
public
class
test
{
public
static
void
main(string
args[])
{
int
x1
=
1;
int
sum
=
0;
int
n
=
7;
for
(int
i
=
1;
i
<=
n;
i++)
{
x1
=
func(i);
sum
=
sum
+
x1;
}
system.out.println("sum="
+
sum);
}
public
static
int
func(int
x)
{
if
(x
>
2)
return
(func(x
-
1)
+
func(x
-
2));
else
return
1;
}
}
間接遞歸:指函數中調用了其他函數,而該其他函數有調用了本函數。
用間接遞歸來計算上述斐波那契數列。
程序代碼:
public
class
test
{
public
static
void
main(string
args[])
{
int
x1
=
1;
int
sum
=
0;
int
n
=
7;
for
(int
i
=
1;
i
<=
n;
i++)
{
x1
=
func1(i);
sum
=
sum
+
x1;
}
system.out.println("sum="
+
sum);
}
public
static
int
func1(int
a){
int
b;
b=func2(a);
return
b;
}
public
static
int
func2(int
b)
{
if
(b>
2)
return
(func1(b
-
1)
+
func1(b
-
2));
else
return
1;
}
}

❺ java用遞歸演算法計算並輸出Fibonacci數列的前20項

public class Demo{
public static void main(String[] args) {
for(int i=1;i<=20;i++){
System.out.println(f(i));
}
}
public static int f(int n){
if(n == 1 || n ==2){
return 1;
}
return f(n-2)+f(n-1);
}
}
我自己寫的,參考一下把

❻ JAVA用遞歸方法實現斐波那契數列

public static long fib1(int n){
if(n==1){
return 1;
}elseif(n==2){
return 2;
}else{
return fib1(n-1)+fib1(n-2);
}
}

❼ 如何用java語言輸出斐波那契數列

/*packagewhatever;//don'tplacepackagename!*/
importjava.util.*;
importjava.lang.*;
importjava.io.*;
classFibonacci{
publicstaticvoidmain(String[]args){
inta=1,b=1,c=0;
System.out.print(a+" "+b+" ");
for(inti=1;i<=18;i++){
c=a+b;
a=b;
b=c;
System.out.print(c+" ");
if((i+2)%5==0)
System.out.println();
}
}
}

閱讀全文

與java斐波那契數列遞歸相關的資料

熱點內容
程序員編碼是指什麼 瀏覽:525
在雲伺服器上安裝軟體 瀏覽:270
什麼app可以免費聽周董的歌 瀏覽:364
netmvcpdf 瀏覽:209
arp伺服器回送的是什麼地址 瀏覽:103
生物學pdf百度雲 瀏覽:963
markdown源碼包怎麼下載 瀏覽:598
餐飲app開發公司哪個好 瀏覽:637
解壓盒子2無廣告 瀏覽:623
華為鴻蒙系統怎麼放大單個文件夾 瀏覽:587
phpwin864 瀏覽:913
boll優化源碼公式 瀏覽:905
連接伺服器埠號是如何確定的 瀏覽:14
gsm源碼 瀏覽:475
單片機點陣滾動 瀏覽:407
加密資產平台 瀏覽:721
二級建築師pdf教材 瀏覽:324
單片機i和e系列 瀏覽:320
peb是什麼伺服器 瀏覽:389
天正建造散水命令 瀏覽:220