23 lines
609 B
Text
23 lines
609 B
Text
Module Equilibrium_index{
|
|
Function equilibriumIndices(a as tuple) {
|
|
flush ' empty stack of values
|
|
sum=a#sum()
|
|
b=each(a)
|
|
double sumleft, sumright
|
|
while b
|
|
sumright=sum-sumleft-array(b)
|
|
if sumleft=sumright then
|
|
data b^ ' put index to end of stack (used as FIFO)
|
|
end if
|
|
sumleft+=array(b)
|
|
end while
|
|
=array([])
|
|
}
|
|
a=(-7, 1, 5, 2, -4, 3, 0)
|
|
b=equilibriumIndices(a)#str$()
|
|
Print "["+b+"]"
|
|
Print "["+equilibriumIndices((2, 4, 6))#str$()+"]"
|
|
Print "["+equilibriumIndices((2, 9, 2))#str$()+"]"
|
|
Print "["+equilibriumIndices((1, -1, 1, -1, 1, -1, 1))#str$()+"]"
|
|
}
|
|
Equilibrium_index
|