Javascriptで関数プログラミングの勉強。

nの階乗を計算。

ループを使った場合:

function fact(n) {
  for (var r=1; n>0; n--)
    r *= n;
  return r;
}
fact(16) -> # 20922789888000

再帰を使った場合:

function fact2(n) {
  return n == 0 ? 1 : n * fact2(n-1)
}
fact2(16) -> # 20922789888000

うーん、再帰で書くコツが全然わからん・・・。

This has no image.
  • 関数プログラミング
  • 日本評論社(1998-03)
  • 日本評論社
  • (著)萩谷 昌己
  • 定価:¥ 3,045
  • 新品価格:¥ 3,045
  • ASIN:4535608172

Comments


Option