RosettaCodeData/Task/Fivenum/Pluto/fivenum.pluto
2026-04-30 12:34:36 -04:00

28 lines
855 B
Text

require "table2"
local fmt = require "fmt"
local function fivenum(a)
a:sort()
local n5 = table.rep(5, 0)
local n = #a
local n4 = ((n + 3) // 2) / 2
local d = {1, n4, (n + 1) / 2, n + 1 - n4, n}
local e = 0
for d as de do
local floor = math.floor(de - 1)
local ceil = math.ceil(de - 1)
n5[e + 1] = 0.5 * (a[floor + 1] + a[ceil + 1])
e += 1
end
return n5
end
local x1 = {36, 40, 7, 39, 41, 15}
local x2 = {15, 6, 42, 41, 7, 36, 49, 40, 39, 47, 43}
local x3 = {
0.14082834, 0.09748790, 1.73131507, 0.87636009, -1.95059594,
0.73438555, -0.03035726, 1.46675970, -0.74621349, -0.72588772,
0.63905160, 0.61501527, -0.98983780, -1.00447874, -0.62759469,
0.66206163, 1.04312009, -0.10305385, 0.75775634, 0.32566578
}
for {x1, x2, x3} as x do fmt.lprint(fivenum(x)) end