2.0 KiB
2.0 KiB
id, title, isRequired, challengeType
id | title | isRequired | challengeType |
---|---|---|---|
a302f7aae1aa3152a5b413bc | Factorialize a Number | true | 5 |
Description
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'', ''<code>factorialize(5)</code> should return a number.'');'
- text: <code>factorialize(5)</code> should return 120.
testString: 'assert(factorialize(5) === 120, ''<code>factorialize(5)</code> should return 120.'');'
- text: <code>factorialize(10)</code> should return 3628800.
testString: 'assert(factorialize(10) === 3628800, ''<code>factorialize(10)</code> should return 3628800.'');'
- text: <code>factorialize(20)</code> should return 2432902008176640000.
testString: 'assert(factorialize(20) === 2432902008176640000, ''<code>factorialize(20)</code> should return 2432902008176640000.'');'
- text: <code>factorialize(0)</code> should return 1.
testString: 'assert(factorialize(0) === 1, ''<code>factorialize(0)</code> should return 1.'');'
Challenge Seed
function factorialize(num) {
return num;
}
factorialize(5);
Solution
function factorialize(num) {
return num < 1 ? 1 : num * factorialize(num - 1);
}
factorialize(5);