回覆列表
  • 1 # 小紅的甜心

    class Factorial {

    int fact(int n) {

    int result;

    if (n == 1) return 1;

    result = fact(n-1) * n;

    return result;

    }

    }

    它是這樣工作的:當fact( ) 帶著引數1被呼叫時,該方法返回1;否則它返回fact( n-1 ) 與n的乘積。為了對這個表示式求值,fact() 帶著引數n-1 被呼叫。重複這個過程直到 n 等於 1,且對該方法的呼叫開始返回。

    給你據個例子:

    例如當計算3 的階乘時,對fact() 的第一次呼叫引起引數2的第二次呼叫。這個呼叫將引起fact 以引數1 的第三次呼叫,這個呼叫返回1,這個值接著與2(第二次呼叫時n的值)相乘。然後該結果(現為2)返回到fact()的最初的呼叫,並將該結果與3(n的初始值)相乘。這時得到答案,6。如果你在fact()中插入println() 語句,顯示每次呼叫的階數以及中間結果

  • 中秋節和大豐收的關聯?
  • 鐵皮石斛主要寄生在什麼樹?