3. 以下為 Java 的程式語言,請完成遞迴函式的程式 
詳解 (共 3 筆)
詳解
if(n<4){
return n;}
else{
return seq(n-3)+seq(n-2)+seq(n-1);}
詳解
這道題目要求你實現一個遞迴函數來計算某一項數值。首先,我們來理解題目流程:
- 程式會讓使用者輸入一個數字(no),並且這個數字必須大於等於 4(通過 do-while 迴圈進行檢查)。
- 當使用者輸入一個合法的數字後,程式會呼叫 Seq 函數來計算第 no 項的數值。
接下來,我們要完成的是這個 Seq 函數。Seq 函數是一個遞迴函數,也就是說,這個函數會根據自己的定義重複呼叫自己來完成計算。一般情況下,遞迴函數必須包括兩個部分:
- 基礎情況(Base case):當某些簡單的條件滿足時,直接回傳結果,避免無限遞迴。
- 遞迴情況:不滿足基礎情況時,函數會呼叫自己,並進一步拆解問題。
舉例來說,費氏數列(Fibonacci Sequence)是一個典型的遞迴問題,它的遞迴公式是: F(n)=F(n−1)+F(n−2)F(n)=F(n−1)+F(n−2) 當 n=0n=0 或 n=1n=1 時,我們有基礎情況 F(0)=0F(0)=0 和 F(1)=1F(1)=1。
在這道題中,我們也可以根據需求定義自己的遞迴公式和基礎情況。
詳解
static int seq(int n){
if(n>3)
return seq(n-1)+seq(n-2)+seq(n-3);
else
return n;
}