function fibonacci_recursion(n: number): number {
if (n === 0 || n === 1) {
return 1;
}
return fibonacci_recursion(n - 1) + fibonacci_recursion(n - 2);
}
function fibonacci_non_recursion(n: number): number {
if (n === 0 || n === 1) {
return 1;
}
let n1: number = 0,
n2: number = 1;
for (let i: number = 1; i <= n; ++i) {
[n1, n2] = [n2, n1 + n2];
}
return n2;
}
let ans1: number = fibonacci_recursion(5);
let ans2: number = fibonacci_recursion(8);
let ans3: number = fibonacci_recursion(10);
console.log(ans1);
console.log(ans2);
console.log(ans3);
let ans4: number = fibonacci_non_recursion(5);
let ans5: number = fibonacci_non_recursion(8);
let ans6: number = fibonacci_non_recursion(10);
console.log(ans4);
console.log(ans5);
console.log(ans6);