From be95cc42fb054f962138db1c3fcdf7410a3aa746 Mon Sep 17 00:00:00 2001 From: Victoria Date: Fri, 16 Oct 2020 03:36:54 -0700 Subject: [PATCH] Update Euler Problem 2 to ES6 standards (#468) * update Problem 2 to ES6 standards Fixes: #{14} * add link to problem --- Project-Euler/Problem2.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Project-Euler/Problem2.js b/Project-Euler/Problem2.js index cc6f2cea0..35b011206 100644 --- a/Project-Euler/Problem2.js +++ b/Project-Euler/Problem2.js @@ -1,16 +1,13 @@ -const SQ5 = 5 ** 0.5 -// Square root of 5 - -const PHI = (1 + SQ5) / 2 -// definition of PHI +// https://projecteuler.net/problem=2 +const SQ5 = 5 ** 0.5 // Square root of 5 +const PHI = (1 + SQ5) / 2 // definition of PHI // theoretically it should take O(1) constant amount of time as long // arithmetic calculations are considered to be in constant amount of time -function EvenFibonacci (limit) { +const EvenFibonacci = (limit) => { const highestIndex = Math.floor(Math.log(limit * SQ5) / Math.log(PHI)) const n = Math.floor(highestIndex / 3) return ((PHI ** (3 * n + 3) - 1) / (PHI ** 3 - 1) - ((1 - PHI) ** (3 * n + 3) - 1) / ((1 - PHI) ** 3 - 1)) / SQ5 } -console.log(EvenFibonacci(4e6)) -// Sum of Even Fibonnaci upto 4 Million +console.log(EvenFibonacci(4e6)) // Sum of even Fibonacci upto 4 Million