JavaScriptにおける再帰の基礎 - HackerRankのDay 9: Recursion 3問題の解法


問題の要件は、与えられた整数nの階乗を計算し、その結果を出力することです。階乗の定義によれば、nの階乗はn (n-1) (n-2) ... 2 * 1となります。再帰を使用してこの計算を行う方法を見てみましょう。

まず、再帰関数を定義します。関数の名前はfactorialとし、引数として整数nを受け取ります。関数内では、以下の手順を実行します。

  1. ベースケース: nが1以下の場合、nの値をそのまま返します。階乗の定義によれば、1の階乗は1です。

  2. 再帰ステップ: nが1より大きい場合、factorial関数を再帰的に呼び出し、n-1の階乗を計算します。その結果にnを掛けた値を返します。

以下に、このアルゴリズムを実装したJavaScriptのコード例を示します。

function factorial(n) {
  // ベースケース
  if (n <= 1) {
    return 1;
  }
// 再帰ステップ
  return n * factorial(n - 1);
}
// テストケース
const num = 5;
const result = factorial(num);
console.log(`Factorial of ${num} is: ${result}`);

上記のコードでは、factorial関数を定義し、テストケースとして整数5を使用しています。コンソールには、5の階乗の結果が表示されます。

このように、再帰を使用して階乗を計算することができます。この問題は、再帰の基礎を理解するための良い演習となっています。HackerRankの問題を解くことで、より多くの実践的な問題にも取り組むことができます。

以上が、JavaScriptにおける再帰の基礎とHackerRankのDay 9: Recursion 3問題の解法についての説明です。