mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-11 15:11:33 +08:00
feat: Test running overhaul, switch to Prettier & reformat everything (#1407)
* chore: Switch to Node 20 + Vitest * chore: migrate to vitest mock functions * chore: code style (switch to prettier) * test: re-enable long-running test Seems the switch to Node 20 and Vitest has vastly improved the code's and / or the test's runtime! see #1193 * chore: code style * chore: fix failing tests * Updated Documentation in README.md * Update contribution guidelines to state usage of Prettier * fix: set prettier printWidth back to 80 * chore: apply updated code style automatically * fix: set prettier line endings to lf again * chore: apply updated code style automatically --------- Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
This commit is contained in:
@ -5,10 +5,14 @@ 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
|
||||
export const EvenFibonacci = (limit) => {
|
||||
if (limit < 1) throw new Error('Fibonacci sequence limit can\'t be less than 1')
|
||||
if (limit < 1)
|
||||
throw new Error("Fibonacci sequence limit can't be less than 1")
|
||||
|
||||
const highestIndex = Math.floor(Math.log(limit * SQ5) / Math.log(PHI))
|
||||
const n = Math.floor(highestIndex / 3)
|
||||
return Math.floor(((PHI ** (3 * n + 3) - 1) / (PHI ** 3 - 1) -
|
||||
((1 - PHI) ** (3 * n + 3) - 1) / ((1 - PHI) ** 3 - 1)) / SQ5)
|
||||
return Math.floor(
|
||||
((PHI ** (3 * n + 3) - 1) / (PHI ** 3 - 1) -
|
||||
((1 - PHI) ** (3 * n + 3) - 1) / ((1 - PHI) ** 3 - 1)) /
|
||||
SQ5
|
||||
)
|
||||
}
|
||||
|
Reference in New Issue
Block a user