Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var isSquare = function (n) {
- return n > 0 && Math.sqrt(n) % 1 === 0;
- };
- function getFib(n) {
- if (n <= 1) return 1;
- const validFibbo = isSquare(5 * (n * n) - 4) || isSquare(5 * (n * n) + 4);
- if (!validFibbo) {
- return null;
- }
- let fib = [0, 1, n + 1];
- for (let i = 2; i <= n + 1; i++) {
- fib[i] = fib[i - 1] + fib[i - 2];
- if (fib[i] > n) {
- // check if key > num
- return fib[i];
- }
- }
- if (fib[i - 1] < n) {
- // check if key < num
- return fib[i - 1] + n;
- }
- if ((fib[i] = n - 1)) {
- // check if key = num
- return fib[i - 1] + fib[i - 2];
- }
- if ((fib[i - 1] = 1)) {
- // check if num = 1
- return n + n;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement