プログラミング フロントエンド

【Javascript】再帰関数を使った階乗の計算方法と並び順の組み合わせの求め方

こんにちは!

今回は「Javascriptで再帰関数を使った階乗の計算方法とと並び順の組み合わせの求め方」についてお伝えしたいと思います。

再帰関数は実務上余り使うことがないのですが、階乗の計算など使うことで効率的に算出できる場合もあります。
Math.jsというライブラリでも同様の計算ができるようです。

再帰関数を使った階乗の計算方法

ポイント

1からnまでの全ての整数の積
例)4! = 1 * 2 * 3 * 4

階乗の算出には再帰関数を使うことで少ないコード量で算出できる

以下に具体例を用いて説明します。

const calcFactorial = (num) => { // num >= 1を満たす整数
  if (num === 1) return 1; // 再帰関数に終了条件は必須!
  return num * calcFactorial(num - 1); // 再度自分自身の関数を呼び出す
};
calcFactorial(1); // 1
calcFactorial(4); // 24
calcFactorial(5); // 120

 

並び順の組み合わせを算出

問題例①

Aさん、Bさん、Cさん、Dさん、Eさんの5人が一列に並ぶ時、並び方の組み合わせは何通りあるか?

求め方は5! = 5 * 4 * 3 * 2 * 1 = 120(通り)

上記のコードと同様の計算で求めることができます。

問題例②

Aさん、Bさん、Cさん、Dさん、Eさんの5人が円形に座る時、並び方の組み合わせは何通りあるか?

求め方は(5- 1)! = 4 * 3 * 2 * 1 = 24(通り)

以上、お疲れさまでした〜🍵

-プログラミング, フロントエンド
-

© 2024 エンジニア×ライフハック Powered by AFFINGER5