RosettaCodeData/Task/Continued-fraction/Pluto/continued-fraction.pluto
2026-04-30 12:34:36 -04:00

15 lines
417 B
Text

local function calc(f, n)
local t = 0
for i = n, 1, -1 do
local p = f(i)
t = p[2] / (p[1] + t)
end
return f(0)[1] + t
end
local plist = {
{"sqrt(2)", |n| -> { (n > 0) ? 2 : 1, 1} },
{"e ", |n| -> { (n > 0) ? n : 2, (n > 1) ? n - 1 : 1} },
{"pi ", |n| -> { (n > 0) ? 6 : 3, (2 * n - 1) * (2 * n - 1)} }
}
for plist as p do print($"{p[1]} = {calc(p[2], 200)}") end