Randell Dawson 5bf8527523 fix(curriculum): Remove unnecessary assert message argument from English challenges JavaScript Algorithms and Data Structures - 02 (#36402)
* fix: rm assert msg basic-algorithm-scripting

* fix: rm assert msg debugging

* fix: rm assert msg es6

* fix: rm assert msg functional-programming
2019-07-24 10:47:32 +02:00

1.7 KiB

id, title, isRequired, challengeType
id title isRequired challengeType
a302f7aae1aa3152a5b413bc Factorialize a Number true 5

Description

Return the factorial of the provided integer. If the integer is represented with the letter n, a factorial is the product of all positive integers less than or equal to n. Factorials are often represented with the shorthand notation n! For example: 5! = 1 * 2 * 3 * 4 * 5 = 120 Only integers greater than or equal to zero will be supplied to the function. Remember to use Read-Search-Ask if you get stuck. Write your own code.

Instructions

Tests

tests:
  - text: <code>factorialize(5)</code> should return a number.
    testString: assert(typeof factorialize(5) === 'number');
  - text: <code>factorialize(5)</code> should return 120.
    testString: assert(factorialize(5) === 120);
  - text: <code>factorialize(10)</code> should return 3628800.
    testString: assert(factorialize(10) === 3628800);
  - text: <code>factorialize(20)</code> should return 2432902008176640000.
    testString: assert(factorialize(20) === 2432902008176640000);
  - text: <code>factorialize(0)</code> should return 1.
    testString: assert(factorialize(0) === 1);

Challenge Seed

function factorialize(num) {
  return num;
}

factorialize(5);

Solution

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

factorialize(5);