--- id: a302f7aae1aa3152a5b413bc title: Factorialize a Number localeTitle: Factorializar un número isRequired: true challengeType: 5 --- ## Description
Devuelve el factorial del entero proporcionado. Si el entero se representa con la letra n, un factorial es el producto de todos los enteros positivos menores o iguales a n. factoriales a menudo se representan con la notación abreviada n! Por ejemplo: 5! = 1 * 2 * 3 * 4 * 5 = 120 Solo se proporcionarán a la función números enteros mayores o iguales a cero. Recuerda usar Read-Search-Ask si te atascas. Escribe tu propio código.
## Instructions
## Tests
```yml tests: - text: factorialize(5) debe devolver un número. testString: 'assert(typeof factorialize(5) === "number", "factorialize(5) should return a number.");' - text: factorialize(5) debe devolver 120. testString: 'assert(factorialize(5) === 120, "factorialize(5) should return 120.");' - text: factorialize(10) debe devolver 3628800. testString: 'assert(factorialize(10) === 3628800, "factorialize(10) should return 3628800.");' - text: factorialize(20) debe devolver 2432902008176640000. testString: 'assert(factorialize(20) === 2432902008176640000, "factorialize(20) should return 2432902008176640000.");' - text: factorialize(0) debe devolver 1. testString: 'assert(factorialize(0) === 1, "factorialize(0) should return 1.");' ```
## Challenge Seed
```js function factorialize(num) { return num; } factorialize(5); ```
## Solution
```js function factorialize(num) { return num < 1 ? 1 : num * factorialize(num - 1); } factorialize(5); ```