Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function fibonacci(n) {
- var listFibo = [0]; // first element is defined to 0;
- fibonacciRecursive(n, listFibo);
- return listFibo;
- }
- function fibonacciRecursive(num, memo) {
- var validInput = typeof (num) != "number"
- || Number.isInteger(num) == false
- || num <= 0
- if (validInput) throw new Error("Wrong input");
- else {
- memo = memo || {};
- let index = num - 1;
- if (memo[index]) return memo[index];
- if (num === 1) return memo[index];
- if (num === 2) return memo[index] = 1;
- return memo[index] = fibonacciRecursive(num - 1, memo) + fibonacciRecursive(num - 2, memo);
- }
- }
- console.log(fibonacci(10));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement