Fibonacci n-step number sequences: Difference between revisions
Content added Content deleted
SqrtNegInf (talk | contribs) m (→Lazy List with Closure: flag failing code) |
(→{{header|Lua}}: Changed to match new task description) |
||
Line 1,786: | Line 1,786: | ||
=={{header|Lua}}== |
=={{header|Lua}}== |
||
<lang Lua>function |
<lang Lua>function nStepFibs (seq, limit) |
||
local |
local iMax, sum = #seq - 1 |
||
while #seq < limit do |
|||
sum = 0 |
|||
for i = 0, iMax do sum = sum + seq[#seq - i] end |
|||
else |
|||
table.insert(seq, sum) |
|||
table.insert(seq, 2 ^ power) |
|||
end |
|||
end |
|||
while #seq < seqLength do |
|||
nextNum = 0 |
|||
for i = #seq - (n-1), #seq do |
|||
nextNum = nextNum + seq[i] |
|||
end |
|||
table.insert(seq, nextNum) |
|||
end |
end |
||
return seq |
return seq |
||
end |
end |
||
⚫ | |||
function display (t) |
|||
{name = "Fibonacci", values = {1, 1}}, |
|||
print(" n\t|\t\t\tValues") |
|||
{name = "tribonacci", values = {1, 1, 2,}}, |
|||
print(string.rep("-", 75)) |
|||
{name = "tetranacci", values = {1, 1, 2, 4}}, |
|||
⚫ | |||
{name = "Lucas", values = {2, 1}} |
|||
} |
|||
for _, val in pairs(v) do |
|||
⚫ | |||
io.write(sequence.name .. ": ") |
|||
end |
|||
print(table.concat(nStepFibs(sequence.values, 10), " ")) |
|||
end</lang> |
|||
end |
|||
⚫ | |||
for n = 2, 10 do |
|||
nacciTab[n] = n_Nacci(n, 16) -- 16 of each fits in one cmd line |
|||
end |
|||
nacciTab.lucas = n_Nacci(2, 16, "lucas") |
|||
display(nacciTab) |
|||
</lang> |
|||
{{out}} |
{{out}} |
||
<pre> |
<pre>Fibonacci: 1 1 2 3 5 8 13 21 34 55 |
||
tribonacci: 1 1 2 4 7 13 24 44 81 149 |
|||
--------------------------------------------------------------------------- |
|||
tetranacci: 1 1 2 4 8 15 29 56 108 208 |
|||
2 | 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 ... |
|||
⚫ | |||
3 | 1 2 4 7 13 24 44 81 149 274 504 927 1705 3136 5768 10609 ... |
|||
4 | 1 2 4 8 15 29 56 108 208 401 773 1490 2872 5536 10671 20569 ... |
|||
5 | 1 2 4 8 16 31 61 120 236 464 912 1793 3525 6930 13624 26784 ... |
|||
6 | 1 2 4 8 16 32 63 125 248 492 976 1936 3840 7617 15109 29970 ... |
|||
7 | 1 2 4 8 16 32 64 127 253 504 1004 2000 3984 7936 15808 31489 ... |
|||
8 | 1 2 4 8 16 32 64 128 255 509 1016 2028 4048 8080 16128 32192 ... |
|||
9 | 1 2 4 8 16 32 64 128 256 511 1021 2040 4076 8144 16272 32512 ... |
|||
10 | 1 2 4 8 16 32 64 128 256 512 1023 2045 4088 8172 16336 32656 ... |
|||
⚫ | |||
=={{header|Maple}}== |
=={{header|Maple}}== |