27 lines
649 B
JavaScript
27 lines
649 B
JavaScript
function fib(arity, len) {
|
|
return nacci(nacci([1,1], arity, arity), arity, len);
|
|
}
|
|
|
|
function lucas(arity, len) {
|
|
return nacci(nacci([2,1], arity, arity), arity, len);
|
|
}
|
|
|
|
function nacci(a, arity, len) {
|
|
while (a.length < len) {
|
|
var sum = 0;
|
|
for (var i = Math.max(0, a.length - arity); i < a.length; i++)
|
|
sum += a[i];
|
|
a.push(sum);
|
|
}
|
|
return a;
|
|
}
|
|
|
|
function main() {
|
|
for (var arity = 2; arity <= 10; arity++)
|
|
console.log("fib(" + arity + "): " + fib(arity, 15));
|
|
for (var arity = 2; arity <= 10; arity++)
|
|
console.log("lucas(" + arity + "): " + lucas(arity, 15));
|
|
}
|
|
|
|
main();
|