2018-09-30 23:01:58 +01:00
---
id: a302f7aae1aa3152a5b413bc
title: Factorialize a Number
isRequired: true
challengeType: 5
2019-07-31 11:32:23 -07:00
forumTopicId: 16013
2018-09-30 23:01:58 +01:00
---
## Description
< section id = '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 < code > n!< / code >
For example: < code > 5! = 1 * 2 * 3 * 4 * 5 = 120</ code >
Only integers greater than or equal to zero will be supplied to the function.
2019-11-19 19:54:48 -05:00
Remember to use < a href = "https://www.freecodecamp.org/forum/t/how-to-get-help-when-you-are-stuck-coding/19514" target = "_blank" > Read-Search-Ask< / a > if you get stuck. Write your own code.
2018-09-30 23:01:58 +01:00
< / section >
## Instructions
< section id = 'instructions' >
< / section >
## Tests
< section id = 'tests' >
```yml
2018-10-04 14:37:37 +01:00
tests:
- text: < code > factorialize(5)</ code > should return a number.
2019-07-24 01:47:32 -07:00
testString: assert(typeof factorialize(5) === 'number');
2018-10-04 14:37:37 +01:00
- text: < code > factorialize(5)</ code > should return 120.
2019-07-24 01:47:32 -07:00
testString: assert(factorialize(5) === 120);
2018-10-04 14:37:37 +01:00
- text: < code > factorialize(10)</ code > should return 3628800.
2019-07-24 01:47:32 -07:00
testString: assert(factorialize(10) === 3628800);
2018-10-04 14:37:37 +01:00
- text: < code > factorialize(20)</ code > should return 2432902008176640000.
2019-07-24 01:47:32 -07:00
testString: assert(factorialize(20) === 2432902008176640000);
2018-10-04 14:37:37 +01:00
- text: < code > factorialize(0)</ code > should return 1.
2019-07-24 01:47:32 -07:00
testString: assert(factorialize(0) === 1);
2018-09-30 23:01:58 +01:00
```
< / section >
## Challenge Seed
< section id = 'challengeSeed' >
< div id = 'js-seed' >
```js
function factorialize(num) {
return num;
}
factorialize(5);
```
< / div >
< / section >
## Solution
< section id = 'solution' >
```js
function factorialize(num) {
return num < 1 ? 1 : num * factorialize ( num - 1 ) ;
}
factorialize(5);
```
< / section >