Javaで再帰を使って階乗を計算する方法は何ですか?
階乗を計算するには、再帰関数を使用することができます。以下は、階乗を再帰的に計算するJavaのコード例です。
public class Factorial {
public static int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
public static void main(String[] args) {
int n = 5;
int result = factorial(n);
System.out.println("Factorial of " + n + " is: " + result);
}
}
上記のコードでは、factorial() 関数は再帰関数であり、整数パラメーター n を受け取り、n の階乗を返します。 n が0または1の場合、関数は直接1を返します。そうでない場合、関数は自身を呼び出して n の階乗を計算します、つまり n * factorial(n – 1)。最後に、main() 関数で factorial() 関数を呼び出して結果を計算および印刷します。上記のコードを実行すると、次の結果が表示されます:
Factorial of 5 is: 120
5の階乗は120を意味します。