freeCodeCamp/curriculum/challenges/japanese/02-javascript-algorithms-an.../basic-algorithm-scripting/factorialize-a-number.md

1.3 KiB

id title challengeType forumTopicId dashedName
a302f7aae1aa3152a5b413bc 階乗計算 1 16013 factorialize-a-number

--description--

指定された整数の階乗を返してください。

指定された整数が n の場合、階乗は n 以下のすべての正の整数の積となります。

階乗はよく n! と簡略表記されます。

例: 5! = 1 * 2 * 3 * 4 * 5 = 120

関数には 0 以上の整数だけが与えられます。

--hints--

factorialize(5) は数値を返す必要があります。

assert(typeof factorialize(5) === 'number');

factorialize(5)120 を返す必要があります。

assert(factorialize(5) === 120);

factorialize(10)3628800 を返す必要があります。

assert(factorialize(10) === 3628800);

factorialize(20)2432902008176640000 を返す必要があります。

assert(factorialize(20) === 2432902008176640000);

factorialize(0)1 を返す必要があります。

assert(factorialize(0) === 1);

--seed--

--seed-contents--

function factorialize(num) {
  return num;
}

factorialize(5);

--solutions--

function factorialize(num) {
  return num < 1 ? 1 : num * factorialize(num - 1);
}

factorialize(5);