JavaScript is not available.

           

Copyright © 2016-2018 MediaKobo Co., Ltd. All rights reserved.
JavaScript コンソール       ホーム       目次

再帰呼出しの基礎

 再帰呼出しとは、ある関数内で自身の関数を呼び出すことを言います。
再帰呼出しを使うことで、プログラムが簡単にかける場合があります。

階乗

 階乗とは、1からその数までの全ての整数の積です。
n! は、以下の様に表せます。また、0の階乗は1と定義されています。


   n! = n * (n-1) * (n-2) * ... * 2 * 1
   0! = 1

また、n! は、以下の様に、n と (n-1)! の積として表すことができます。


   n! = n * (n-1)!

 よって、n の階乗を計算する関数は、引数 n と (n-1) の階乗(引数を n-1 として、自身の関数を呼び出す)を掛けて、その結果を返せば良いことになります。
ここで、引数が1以下の場合は、1を返すようにします。
 再帰呼出しを使って、階乗を計算プログラムを書くと以下のようになります。

var n = window.prompt("Input number(0-21)?");

console.log(n + "! = " + factorial(n));

function factorial(n) {
  if(n <= 1) return 1;
  return n * factorial(n - 1);
}

目次へ