當前位置:首頁 » 編程語言 » java斐那波契數列

java斐那波契數列

發布時間: 2022-06-13 18:07:37

java語言用數組輸出Fibonacci數列:1 1 2 3 5 8 13....前20

方法如下供參考:

publicclassTest{

publicstaticvoidmain(String[]args){

intintArrary[]=newint[20];
intArrary[0]=intArrary[1]=1;

for(inti=2;i<intArrary.length;i++){
intArrary[i]=intArrary[i-1]+intArrary[i-2];
}

System.out.println("Fibonacci數列:11235813....前20如下所示:");
for(inti=0;i<intArrary.length;i++){
if(i%5==0)

System.out.println();
System.out.print(intArrary[i]+" ");
}
}
}

⑵ java 斐波那契數列

importjava.util.Scanner;
/**
*斐波那契數列:第0項是0,第1項是第一個1。
這個數列從第三項開始,每一項都等於前兩項之和
*@authoryoung
*
*/
publicclassFei{
publicstaticvoidfunc(intn){
if(n<3){
System.out.println("0,1");
}elseif(n>3){
inta=0,b=1,c=0;
System.out.print(a+""+b+"");
for(inti=3;i<=n;i++){
c=a+b;
a=b;
b=c;
System.out.print(c+"");
}
}elseif(n<0){
System.out.println("輸入數字不符合要求");
}
}
publicstaticvoidmain(String[]args){
Feif=newFei();
Scannerinput=newScanner(System.in);
System.out.print("請輸入斐波那契數列的列數n,按ENTER:");
intnum=input.nextInt();
System.out.println("斐波那契數列為:");
func(num);
}
}

正確的代碼

⑶ JAVA程序的費波納茨數列是什麼原理

數學上,斐波那契數列是以遞歸的方法來定義:
* F(0) = 0
* F(1) = 1
* F(n) = F(n - 1) + F(n - 2)
就是說從第三個數字開始,每一個數等於前兩項的和,所以
A1輸入0 A2輸入1
A3輸入=A1+A2

⑷ 用JAVA數組來求斐波那契數列前20項: 1 1 2 3 5 8 ….

publicclassDemo{
publicstaticvoidmain(String[]args){

intn=20;
intsum=0;
for(inti=1;i<=n;i++){
System.out.print(fibo(i)+" ");
sum+=fibo(i);
}
System.out.println(" 菲波那契數列的前20項和為:"+sum);
}

privatestaticintfibo(intn){
if(n==1)
return1;
if(n==2)
return1;
returnfibo(n-1)+fibo(n-2);
}
}

數組法:
publicclassDemo{
publicstaticvoidmain(String[]args){
int[]array=newint[20];
array[0]=1;
array[1]=1;
intsum=0;
for(inti=2;i<array.length;i++){
array[i]=array[i-1]+array[i-2];
}
//遍歷數組並累計
for(inti=0;i<array.length;i++){
sum+=array[i];
}
//輸出和
System.out.println(" 菲波那契數列的前20項和為:"+sum);
}
}

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

  • Java編程:三種方法實現斐波那契數列


其一方法:

publicclassDemo2{
//定義三個變數方法
publicstaticvoidmain(String[]args){
inta=1,b=1,c=0;
System.out.println("斐波那契數列前20項為:");
System.out.print(a+" "+b+" ");
//因為前面還有兩個1、1所以i<=18
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編程:三種方法實現斐波那契數列


其二方法:

publicclassDemo3{
//定義數組方法
publicstaticvoidmain(String[]args){
intarr[]=newint[20];
arr[0]=arr[1]=1;
for(inti=2;i<arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("斐波那契數列的前20項如下所示:");
for(inti=0;i<arr.length;i++){
if(i%5==0)
System.out.println();
System.out.print(arr[i]+" ");
}
}

}
  • Java編程:三種方法實現斐波那契數列

其三方法:

publicclassDemo4{
//使用遞歸方法
privatestaticintgetFibo(inti){
if(i==1||i==2)
return1;
else
returngetFibo(i-1)+getFibo(i-2);
}

publicstaticvoidmain(String[]args){
System.out.println("斐波那契數列的前20項為:");
for(intj=1;j<=20;j++){
System.out.print(getFibo(j)+" ");
if(j%5==0)
System.out.println();
}
}

}

同一道題用各種不同的思路去思考解決,也是對知識綜合運用的鍛煉。

⑹ 用JAVA表示斐波那契數列 急急急!!!!

publicclassFibonacci{

//能夠被顯示的最大項
privatestaticfinallongMAX_TERM_VALUE=10000;

publicvoidrun(){
longfibonacci_1=0L;
longfibonacci=1L;
System.out.println(fibonacci_1);
while(fibonacci<MAX_TERM_VALUE){
System.out.println(fibonacci);
longtemp=fibonacci_1+fibonacci;
fibonacci_1=fibonacci;
fibonacci=temp;
}
}

publicstaticvoidmain(String[]args){
newFibonacci().run();
}

}

⑺ Java實現斐波那契數列

public class Demo{
public static void main(String[] args) {
int fei[] = new int[25];
fei[0] = 0;
fei[1] = 1;
for(int i=2;i<fei.length;i++){
fei[i] = fei[i-1] + fei[i-2];
}
for(int i=0;i<fei.length;i++){
System.out.print(fei[i]+" ");
}
}
}

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

具體代碼如下:

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 ",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語言解決斐波那契數列問題

遞歸函數的定義:
遞歸函數即自調用函數,在函數體內直接或間接的調用自己,即函數的嵌套是函數本身。
遞歸方式:遞歸調用有直接遞歸和間接遞歸兩種方式。
直接遞歸:在函數中出現調用函數本身。
下面代碼求斐波那契數列第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實現斐波那契數列的幾種方法時間效率問

這道兔子題的實質就是斐波那契數列: 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
1 1 2 3 5 8 13 ……

方案一:遞歸演算法實現

public static long fib(int n){

if(n <= 1){

return 1;

}else{

return fib(n - 1) + fib(n - 2);

}

}

初看起來,使用遞歸演算法是最簡潔的。可是,如果將程序編碼病在n值為40左右時運行那麼這個程序讓人感到效率低的嚇人。n>4時,其時間效率為fib(N)>=(3/2)的n次方,這個程序運行的時間以指數的速度增長。這大概是最壞的情況。

方案二:數組方式

public static int fib2(int n) {

int[] array = new int[n];

array[0] = array[1] =1;

for (int i = 0; i < array.length; i++) {

if (i == 0 || i == 1) {

return array[i];

}else {

array[i] = array[i-1] +array[i-2];

}

} return array[i];

}

數組方式的好處是只是用了一個for循環,運行時間可以顯著降低。

熱點內容
咖啡的腳本 發布:2025-02-07 10:46:18 瀏覽:519
nsftp速度 發布:2025-02-07 10:30:58 瀏覽:430
存儲過程ifor 發布:2025-02-07 10:25:28 瀏覽:432
命令行執行oracle腳本文件命令行 發布:2025-02-07 10:14:49 瀏覽:95
ibook安卓怎麼下 發布:2025-02-07 10:12:13 瀏覽:692
銀行卡沒有密碼怎麼辦啊 發布:2025-02-07 10:08:13 瀏覽:30
游戲庫源碼 發布:2025-02-07 09:49:15 瀏覽:53
享宇錢包上傳不了照片 發布:2025-02-07 09:48:32 瀏覽:632
模擬器怎麼開安卓版本 發布:2025-02-07 09:42:35 瀏覽:771
c程序設計語言源碼 發布:2025-02-07 09:22:41 瀏覽:624