1

再帰がどのように機能するかを、できるだけ簡単に説明してください。

4

5 に答える 5

6

指摘されているように、再帰とは関数がそれ自体を呼び出すときです。ここではfactorial、を使用して図解されています。ここで、はfactorial(5)数学的に値に評価されます5 * 4 * 3 * 2 * 1

public int factorial(int x) {
   if (x == 1) return 1;
   else return x * factorial (x - 1);
}

// Try routine
factorial(3);

これは次のように評価されます

 factorial(1) = 1                                        = 1
 factorial(2) = 2 * factoral(1)                          = 2 * 1 
 factorial(3) = 3 * (2 * factorial(2) * (factorial(1))   = 3 * 2 * 1
 ...
于 2012-10-14T18:26:23.013 に答える
4

通常、これは1つの結果自体を計算し、それ自体を呼び出して残りの結果を取得する関数です。

たとえば、すべての正の数を3以下にする場合、関数は次のようになります。「1つの結果は3で、残りの結果はすべて2以下の正の数です。2で自分自身を呼び出し、その結果をに追加しましょう。私が計算したものです。」

もちろん、再帰関数は「終了条件」を持つように注意する必要があります。そうしないと、結果が返されません。この例の場合、終了条件は、関数が0で呼び出されたときであり、0を返すだけです。

于 2012-10-14T18:27:11.037 に答える
1

再帰は、それ自体の内部からそれ自体を呼び出すメソッドです。

例:

public void recur(int x)
    recur(10);
end
于 2012-10-14T18:19:01.780 に答える
1

再帰的メソッドの簡単な例を次に示します。-

public int recur(int count) {
   if (count < 10) {
       return count + recur(count++);
   }
   return count;
}

System.out.println(recur(0));  // Invoke first time
于 2012-10-14T18:19:03.440 に答える
1

再帰とは、関数がそれ自体を呼び出すときです。

int factorial(int integer)
{
    if (integer == 1)
        return 1;
    else
        return (integer*(factorial(integer-1)));
}
于 2012-10-14T18:20:09.573 に答える