2017-03-21 32 views
0
public static int getFib(int num) { 

     if (num < 2) { 
      return num; 
     } 
     return getFib(num - 1) + getFib(num - 2); 
    } 

如何使用這個代碼打印出此示例輸出像附有打印的格式相同了如何打印出這個特定的斐波那契數列?

enter image description here

+0

也許一個'for'循環,調用代碼20次並打印每個結果? – markspace

+0

不是斐波那契從0開始? – XtremeBaumer

+0

@XtremeBaumer它不能從零開始,因爲將數字(0)添加到隱含的前一個(也是0)只會給出一串零。 – AntonH

回答

0

試試這一個文件。這將存儲您的結果並在繼續計算之前將其打印出來。

public static int getFib(int num) { 
     if (num < 2) { 
      return num; 
     } 
     int tmp = getFib(num - 1) + getFib(num - 2); 
     System.out.println(tmp); 
     return tmp; 
    } 
+0

你好,似乎工作正常,表明它不打印最後一個值。因此,例如Fib 20最多打印4181,但不打印最後一個值,即6765 –

1

假設你getFib()是這樣的:

public static int getFib(int num) { 
     if (num < 2) { 
      return num; 
     } 
     int tmp = getFib(num - 1) + getFib(num - 2); 
     return tmp; 
    } 

main()函數調用次數達到要求數量getFib()功能和打印返回值中,如:

for(i=0;i<numberOfTimes;++i){ 
    System.out.println(getFib(i)); 
} 
+0

你好,看起來工作正常,表明它不打印最後一個值。因此,例如Fib 20最多打印4181,但不打印最後一個值6765 –

+0

在「for」循環中嘗試「i <= numberOfTimes」。 –