28 lines
612 B
Awk
28 lines
612 B
Awk
# syntax: GAWK -f EQUILIBRIUM_INDEX.AWK
|
|
BEGIN {
|
|
main("-7 1 5 2 -4 3 0")
|
|
main("2 4 6")
|
|
main("2 9 2")
|
|
main("1 -1 1 -1 1 -1 1")
|
|
exit(0)
|
|
}
|
|
function main(numbers, x) {
|
|
x = equilibrium(numbers)
|
|
printf("numbers: %s\n",numbers)
|
|
printf("indices: %s\n\n",length(x)==0?"none":x)
|
|
}
|
|
function equilibrium(numbers, arr,i,leftsum,leng,str,sum) {
|
|
leng = split(numbers,arr," ")
|
|
for (i=1; i<=leng; i++) {
|
|
sum += arr[i]
|
|
}
|
|
for (i=1; i<=leng; i++) {
|
|
sum -= arr[i]
|
|
if (leftsum == sum) {
|
|
str = str i " "
|
|
}
|
|
leftsum += arr[i]
|
|
}
|
|
return(str)
|
|
}
|