--- title: Factorial id: 597b2b2a2702b44414742771 challengeType: 5 forumTopicId: 302263 --- ## Description
Write a function to return the factorial of a number. Factorial of a number is given by:
n! = n * (n-1) * (n-2) * ..... * 1
For example: Note: 0! = 1
## Instructions
## Tests
```yml tests: - text: factorial should be a function. testString: assert(typeof factorial === 'function'); - text: factorial(2) should return a number. testString: assert(typeof factorial(2) === 'number'); - text: factorial(3) should return 6. testString: assert.equal(factorial(3), 6); - text: factorial(5) should return 120. testString: assert.equal(factorial(5), 120); - text: factorial(10) should return 3,628,800. testString: assert.equal(factorial(10), 3628800); ```
## Challenge Seed
```js function factorial(n) { // Good luck! } ```
## Solution
```js function factorial(n) { let sum = 1; while (n > 1) { sum *= n; n--; } return sum; } ```