阿摩線上測驗 登入

申論題資訊

試卷:110年 - 110 臺灣港務股份有限公司新進從業人員甄試_員級_資訊:資料結構與程式設計#97568
科目:程式設計
年份:110年
排序:0

申論題內容

3. 以下為 Java 的程式語言,請完成遞迴函式的程式 60595565b07c6.jpg

詳解 (共 3 筆)

詳解 提供者:111郵專一,地特四資訊正取

if(n<4){

    return n;}

else{

    return seq(n-3)+seq(n-2)+seq(n-1);}

詳解 提供者:Triple w.

這道題目要求你實現一個遞迴函數來計算某一項數值。首先,我們來理解題目流程:

  1. 程式會讓使用者輸入一個數字(no),並且這個數字必須大於等於 4(通過 do-while 迴圈進行檢查)。
  2. 當使用者輸入一個合法的數字後,程式會呼叫 Seq 函數來計算第 no 項的數值。

接下來,我們要完成的是這個 Seq 函數。Seq 函數是一個遞迴函數,也就是說,這個函數會根據自己的定義重複呼叫自己來完成計算。一般情況下,遞迴函數必須包括兩個部分:

  • 基礎情況(Base case):當某些簡單的條件滿足時,直接回傳結果,避免無限遞迴。
  • 遞迴情況:不滿足基礎情況時,函數會呼叫自己,並進一步拆解問題。

舉例來說,費氏數列(Fibonacci Sequence)是一個典型的遞迴問題,它的遞迴公式是: F(n)=F(n−1)+F(n−2)F(n)=F(n1)+F(n2) 當 n=0n=0 或 n=1n=1 時,我們有基礎情況 F(0)=0F(0)=0 和 F(1)=1F(1)=1

在這道題中,我們也可以根據需求定義自己的遞迴公式和基礎情況。

詳解 提供者:linlin

static int seq(int n){

if(n>3)

return seq(n-1)+seq(n-2)+seq(n-3);

else 

       return n;

}