function factorial(num = 1) { if (isNaN(num) !== false || num < 0) { return false; } if (num === 0) { return 1; } let res = 1; for (let i = 1; i <= num; i++) { res *= i; } return res; } function repeat(string = null, num = 0) { if (isNaN(num) !== false || num < 1) { return false; } if (typeof string !== 'string') { return false; } let res = ''; for (i = 0; i < num; i++) { res += string; } return res; } function perimetro(a = 0, b = 0) { if ((typeof a !== 'number' || typeof b !== 'number') && (a < 1 || b < 1)) { return false; } return (a + b) * 2; } function half(a = 0, b = 0, c = 0) { if (typeof a !== 'number' || typeof b !== 'number' || typeof c !== 'number') { return false; } if ((a === b) || (a === c)) { return a; } else if (b === c) { return b; } if (a < b && c > b) { return `\n\topc1 a: ${a} b: ${b} c: ${c} MITJ: ${a}`; } else if (c < b && b < a) { return `\n\topc2 a: ${a} b: ${b} c: ${c} MITJ: ${c}`; } else if ((a < b && b > c) && c > a) { return `\n\topc3 a: ${a} b: ${b} c: ${c} MITJ: ${a}`; } else if (a < b && b > c) { return `\n\topc4 a: ${a} b: ${b} c: ${c} MITJ: ${c}`; } else if ((a > b && b < c) && c < a) { return `\n\topc5 a: ${a} b: ${b} c: ${c} MITJ: ${b}`; } else if ((a > b && b < c) && c > a) { return `\n\topc6 a: ${a} b: ${b} c: ${c} MITJ: ${b}`; } else { return `cas no contemplat de a: ${a} b: ${b} c: ${c}`; } } function evenOdd(numA = 0, numB = 0) { if (typeof numA !== 'number' || typeof numB !== 'number') { return false; } if ((0 === numA % 2 && 0 === numB % 2) || (0 !== numA % 2 && 0 !== numB % 2)) { return true; } return false; } function sum(a = 0, b = 0) { let sum = 0; if ( a == b) { return a; } if ( a > b) { sum = a; a = b; b = sum; sum = 0; } for (let i = a - 1; i < b; i ++) { sum += (i + 1); } return sum; } console.log(`\nEscribir una función factorial a la que le pasamos un número y nos devuelve el factorial de ese número (el factorial de 5 es 1*2*3*4*5, el de 3 1*2*3)`); console.log(`Factorial: ${factorial(5)}`); console.log('-'.repeat(10)); console.log(`\nEscribir una función repetirCadena a la que le pasamos una cadena y un número y nos devuelve la cadena repetida n veces: repetirCadena("hola",3) ->"holaholahola"`); console.log(`Fase repetida: ${repeat('jaume', 3)}`); console.log('-'.repeat(10)); console.log(`\nCrear una función perímetro a la que le pasamos dos lados y nos devuelve el perímetro de un rectángulo con esos dos lados (la suma de los lados multiplicado por 2)`); console.log(`Perimetre: ${perimetro(5, 2)}`); console.log('-'.repeat(10)); console.log(`\nCrear una función a la que pasemos tres números y nos devuelva el que está en la mitad (ni el más alto ni el más bajo). Si hay algún número que sea igual a otro que nos devuelva ese número.`); console.log(`Dels 3 números el que esta a la meitat ni el més gran ni el més petit. Es: ${half(6, 7, 10)}`); // 6 -> Fet 1 console.log(`Dels 3 números el que esta a la meitat ni el més gran ni el més petit. Es: ${half(10, 7, 6)}`); // 6 -> Fet 2 console.log(`Dels 3 números el que esta a la meitat ni el més gran ni el més petit. Es: ${half(6, 10, 7)}`); // 6 -> Fet 3 console.log(`Dels 3 números el que esta a la meitat ni el més gran ni el més petit. Es: ${half(7, 10, 6)}`); // 6 -> Fet 4 console.log(`Dels 3 números el que esta a la meitat ni el més gran ni el més petit. Es: ${half(10, 6, 7)}`); // 6 -> Fet 5 console.log(`Dels 3 números el que esta a la meitat ni el més gran ni el més petit. Es: ${half(7, 6, 10)}`); // 6 -> Fet 6 console.log(`\nCrear una función a la que le pasemos dos números y nos devuelva true si los dos son pares o impares y false si uno es par y el otro es impar`); console.log(`Els 2 números son parells o imparells: ${evenOdd(0, 2)}`); console.log(`Els 2 números son parells o imparells: ${evenOdd(1, 3)}`); console.log(`Els 2 números son parells o imparells: ${evenOdd(2, 3)}`); console.log('-'.repeat(10)); console.log(`\nUna función sumaEntre a la que le pasamos dos números y nos suma los números desde el primero hasta el último ambos incluídos. Ej: sumaEntre(4,8)->30 (4+5+6+7+8)`); console.log(`Suma a partir de un número fins a un altre incloent el d'inici i final: ${sum(4, 8)}`); console.log(`Suma a partir de un número fins a un altre incloent el d'inici i final: ${sum(8, 4)}`); console.log(`Suma a partir de un número fins a un altre incloent el d'inici i final: ${sum(8, 8)}`); console.log(`Suma a partir de un número fins a un altre incloent el d'inici i final: ${sum(-3, 6)}`);