Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
4
Task/Fibonacci-sequence/Lua/fibonacci-sequence-1.lua
Normal file
4
Task/Fibonacci-sequence/Lua/fibonacci-sequence-1.lua
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
--calculates the nth fibonacci number. Breaks for negative or non-integer n.
|
||||
function fibs(n)
|
||||
return n < 2 and n or fibs(n - 1) + fibs(n - 2)
|
||||
end
|
||||
8
Task/Fibonacci-sequence/Lua/fibonacci-sequence-2.lua
Normal file
8
Task/Fibonacci-sequence/Lua/fibonacci-sequence-2.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
--more pedantic version, returns 0 for non-integer n
|
||||
function pfibs(n)
|
||||
if n ~= math.floor(n) then return 0
|
||||
elseif n < 0 then return pfibs(n + 2) - pfibs(n + 1)
|
||||
elseif n < 2 then return n
|
||||
else return pfibs(n - 1) + pfibs(n - 2)
|
||||
end
|
||||
end
|
||||
2
Task/Fibonacci-sequence/Lua/fibonacci-sequence-3.lua
Normal file
2
Task/Fibonacci-sequence/Lua/fibonacci-sequence-3.lua
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
function a(n,u,s) if n<2 then return u+s end return a(n-1,u+s,u) end
|
||||
function trfib(i) return a(i-1,1,0) end
|
||||
1
Task/Fibonacci-sequence/Lua/fibonacci-sequence-4.lua
Normal file
1
Task/Fibonacci-sequence/Lua/fibonacci-sequence-4.lua
Normal file
|
|
@ -0,0 +1 @@
|
|||
fib_n = setmetatable({1, 1}, {__index = function(z,n) return n<=0 and 0 or z[n-1] + z[n-2] end})
|
||||
9
Task/Fibonacci-sequence/Lua/fibonacci-sequence-5.lua
Normal file
9
Task/Fibonacci-sequence/Lua/fibonacci-sequence-5.lua
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
-- table recursive done properly (values are actually saved into table;
|
||||
-- also the first element of Fibonacci sequence is 0, so the initial table should be {0, 1}).
|
||||
fib_n = setmetatable({0, 1}, {
|
||||
__index = function(t,n)
|
||||
if n <= 0 then return 0 end
|
||||
t[n] = t[n-1] + t[n-2]
|
||||
return t[n]
|
||||
end
|
||||
})
|
||||
5
Task/Fibonacci-sequence/Lua/fibonacci-sequence-6.lua
Normal file
5
Task/Fibonacci-sequence/Lua/fibonacci-sequence-6.lua
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
function ifibs(n)
|
||||
local p0,p1=0,1
|
||||
for _=1,n do p0,p1 = p1,p0+p1 end
|
||||
return p0
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue