From ff4cf768c4c5ac349c976d57350d47a69ebdc179 Mon Sep 17 00:00:00 2001 From: IvySaskia Date: Wed, 5 Oct 2022 23:21:59 -0400 Subject: [PATCH 1/6] ADD: Factorial function as recursive --- README.md | 4 ++-- package-lock.json | 9 ++++----- src/factorial.js | 3 ++- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 0242224..837240f 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,8 @@ npm run test 15 = 1 307 674 368 000. ``` -1. Genera un algoritmo para determinar si un número de entrada es primo o no. -2. Genera una función que devuelve una secuencia de Fibonacci como una array +2. Genera un algoritmo para determinar si un número de entrada es primo o no. +3. Genera una función que devuelve una secuencia de Fibonacci como una array ### Enviar solución de reto diff --git a/package-lock.json b/package-lock.json index fd061e8..7f732fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { - "name": "challenge-js-03", + "name": "javascript-challenges", "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "challenge-js-03", + "name": "javascript-challenges", "version": "1.0.0", "license": "MIT", "devDependencies": { - "jest": "^29.0.1" + "jest": "29.0.1" } }, "node_modules/@ampproject/remapping": { @@ -5144,8 +5144,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} + "dev": true }, "jest-regex-util": { "version": "29.0.0", diff --git a/src/factorial.js b/src/factorial.js index 4f3ae70..3744cb4 100644 --- a/src/factorial.js +++ b/src/factorial.js @@ -1,5 +1,6 @@ const factorial = (number) => { - // your code here + if (number == 0) return 1; + return number * factorial (number-1); } module.exports = factorial; \ No newline at end of file From 81721e7d6714994224cda248b3120c4617da3d48 Mon Sep 17 00:00:00 2001 From: IvySaskia Date: Wed, 5 Oct 2022 23:28:03 -0400 Subject: [PATCH 2/6] ADD: WIP trialDivision --- src/primalidad.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/primalidad.js b/src/primalidad.js index 8bdb849..9055abd 100644 --- a/src/primalidad.js +++ b/src/primalidad.js @@ -1,5 +1,8 @@ const trialDivision = (number) => { - // your code here + if (number <=1 ) return false; + for (let i = 2; i <= number-1; i++) + if (number % i == 0) return false; + return true; } module.exports = trialDivision; \ No newline at end of file From 0eb41ee5c2df44a031725f9f1234a26f1725180a Mon Sep 17 00:00:00 2001 From: IvySaskia Date: Thu, 6 Oct 2022 00:10:45 -0400 Subject: [PATCH 3/6] FIX: Primalidad function --- src/primalidad.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/primalidad.js b/src/primalidad.js index 9055abd..440a086 100644 --- a/src/primalidad.js +++ b/src/primalidad.js @@ -1,8 +1,8 @@ -const trialDivision = (number) => { - if (number <=1 ) return false; - for (let i = 2; i <= number-1; i++) - if (number % i == 0) return false; - return true; +const trialDivision = (number) => { + if (number % 1 !== 0) return false; + for (let i = 2; i < number; i++) + if (number % i === 0) return false; + return number >= 2; } module.exports = trialDivision; \ No newline at end of file From 6cc4e76fe7ee36181f6ccc8fe65027ba782842ba Mon Sep 17 00:00:00 2001 From: IvySaskia Date: Thu, 6 Oct 2022 00:11:14 -0400 Subject: [PATCH 4/6] FIX: Factorial function --- src/factorial.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/factorial.js b/src/factorial.js index 3744cb4..7052668 100644 --- a/src/factorial.js +++ b/src/factorial.js @@ -1,5 +1,5 @@ const factorial = (number) => { - if (number == 0) return 1; + if (number == 0 || number == 1) return 1; return number * factorial (number-1); } From c80555620dd26623c8b934cc746e6d5d44530735 Mon Sep 17 00:00:00 2001 From: IvySaskia Date: Thu, 6 Oct 2022 00:18:46 -0400 Subject: [PATCH 5/6] ADD: WIP Fibonacci function --- README.md | 1 + src/fibonacci.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 837240f..9f6ee24 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ npm run test ``` 2. Genera un algoritmo para determinar si un número de entrada es primo o no. + 3. Genera una función que devuelve una secuencia de Fibonacci como una array ### Enviar solución de reto diff --git a/src/fibonacci.js b/src/fibonacci.js index ea3270f..8094429 100644 --- a/src/fibonacci.js +++ b/src/fibonacci.js @@ -1,5 +1,7 @@ const fibonacci = (n) => { - // your code here + if (n == 0) return 0; + if (n == 1) return 1; + return fibonacci(n - 2) + fibonacci(n - 1) } module.exports = fibonacci; \ No newline at end of file From 3a7bfe70d8162901c099cb91d68987dc53f6dc0b Mon Sep 17 00:00:00 2001 From: IvySaskia Date: Thu, 6 Oct 2022 00:39:52 -0400 Subject: [PATCH 6/6] ADD: Fibonacci array function --- src/fibonacci.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/fibonacci.js b/src/fibonacci.js index 8094429..9c6c3b9 100644 --- a/src/fibonacci.js +++ b/src/fibonacci.js @@ -1,7 +1,10 @@ const fibonacci = (n) => { - if (n == 0) return 0; - if (n == 1) return 1; - return fibonacci(n - 2) + fibonacci(n - 1) + if (n == 0) return [0]; + if (n == 1) return [1]; + if (n == 2) return [1, 1]; + let fibonacciArray = fibonacci(n - 1); + fibonacciArray.push(fibonacciArray[n - 2] + fibonacciArray[n - 3]); + return fibonacciArray; } module.exports = fibonacci; \ No newline at end of file