He decidido ir publicando los desafíos de los *bonfires *conforme los voy completando y los iré explicando en la mejor medida que pueda.


**Enunciado: **Nos piden que calculemos el factorial de un número entero que nos pasan como argumento.

**Pista: **Si representamos un número entero con la letra n, el factorial de n es todos los numeros positivos iguales o menores a n. Factorial de 5!=54321

**Recomendaciones de lectura: **

Código inicial:

function factorialize(num) { return num; } factorialize(5);

Lo primero que he hecho ha sido crear una variable llamada **final **para almacenar el valor que nos pasan por argumento, para así más tarde poder usarlo en otra parte del código.

<code class="EnlighterJSRAW" data-enlighter-language="null">var final=num;

Lo siguiente que he hecho ha sido crear un bucle **for **para recorrer desde el número 2 hasta el valor final que antes habíamos creado, que al principio tiene el mismo valor que num.

Dentro del bucle **for **lo que hace es que cada iterración multiplica **num **por el incremento de i. Es decir, si nuestro num es 10; iterración 2: num=102;iterración 3; num=203 iterración 4; num=60*4 y etc..

for(var i=1;i<final;i++){ num=num*i; console.log(num); }

Y por último, he creado una condicional **if **que lo que hace es que en caso de que nos den el número 0, lo convierte al número 1.

<code class="EnlighterJSRAW" data-enlighter-language="null">if(num===0) num=1;

El código final quedaría de esta forma.

function factorialize(num) { var final=num; if(num===0) num=1; for(var i=1;i<final;i++){ num=num*i; } return num; } factorialize(10);

Espero que os sirva de ayuda a algunos y os haya aclarado las dudas que tuvierais.