Q.1 Given an array of numbers as an input, write a function that returns a list of only fibonacci numbers.
Here are a few values in the fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, …
The Fibonacci number at the N-th position is
F(N) = F(N-1) + F(N-2)
F(0) = 0; F(1) = 1
Ex: Input => [1, 13, 4, 5, 34, 23, 99, 55] ,
Output => [1, 5, 13, 34, 55]
Solution:
var inputArr = [1, 13, 4, 5, 34, 23, 99, 55];
inputArr.sort((a, b) => a < b)
var genFab = (inputArr) =>{
var finalArr = [];
tempArr = [];
var i = 0;
var j = 1;
var sum = 0;
var maxVal = inputArr.sort((a, b) => b - a)[0];
while( sum <= maxVal){
sum = i + j;
i = j;
j = sum;
tempArr.push(sum);
if(inputArr.includes(sum)){
finalArr.push(sum)
}
}
return finalArr;
}
var inputArr = [1, 13, 4, 5, 34, 23, 99, 55];
inputArr.sort((a, b) => a < b)
genFab(inputArr);
Q2. Output of the below given Program -
Program 1:
console.log('a')
console.log('b')
setTimeout(() => {
console.log('c')
}, 1)
console.log('d')
setTimeout(() => {
console.log('e')
}, 0)
console.log('f')
Solution 1:
a
b
d
f
e
c
Program 2:
console.log('a')
console.log('b')
setTimeout(() => {
console.log('c')
}, 2)
console.log('d')
setTimeout(() => {
console.log('e')
}, 1)
console.log('f')
Solution 2:
a
b
d
f
e
c