RosettaCodeData/Task/Equilibrium-index/Phix/equilibrium-index.phix
2026-02-01 16:33:20 -08:00

23 lines
600 B
Text

with javascript_semantics
function equilibrium(sequence s)
atom lower_sum = 0,
higher_sum = sum(s)
sequence res = {}
for i,si in s do
higher_sum -= si
if lower_sum=higher_sum then
res &= i
end if
lower_sum += si
end for
return res
end function
constant tests = {{-7,1,5,2,-4,3,0},
{2,4,6},{2,9,2},
{1,-1,1,-1,1,-1,1},
{1},{}}
printf(1,"The equilibrium indices for the following sequences are:\n")
for t in tests do
printf(1,"%24v -> %v\n", {t,equilibrium(t)})
end for