RosettaCodeData/Task/Fibonacci-n-step-number-seq.../Lua/fibonacci-n-step-number-seq...

21 lines
578 B
Lua

function nStepFibs (seq, limit)
local iMax, sum = #seq - 1
while #seq < limit do
sum = 0
for i = 0, iMax do sum = sum + seq[#seq - i] end
table.insert(seq, sum)
end
return seq
end
local fibSeqs = {
{name = "Fibonacci", values = {1, 1} },
{name = "Tribonacci", values = {1, 1, 2} },
{name = "Tetranacci", values = {1, 1, 2, 4}},
{name = "Lucas", values = {2, 1} }
}
for _, sequence in pairs(fibSeqs) do
io.write(sequence.name .. ": ")
print(table.concat(nStepFibs(sequence.values, 10), " "))
end