Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
40
Task/Equilibrium-index/Seed7/equilibrium-index.seed7
Normal file
40
Task/Equilibrium-index/Seed7/equilibrium-index.seed7
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
$ include "seed7_05.s7i";
|
||||
|
||||
const array integer: numList is [] (-7, 1, 5, 2, -4, 3, 0);
|
||||
|
||||
const func array integer: equilibriumIndex (in array integer: elements) is func
|
||||
result
|
||||
var array integer: indexList is 0 times 0;
|
||||
local
|
||||
var integer: element is 0;
|
||||
var integer: index is 0;
|
||||
var integer: sum is 0;
|
||||
var integer: subSum is 0;
|
||||
var integer: count is 0;
|
||||
begin
|
||||
indexList := length(elements) times 0;
|
||||
for element range elements do
|
||||
sum +:= element;
|
||||
end for;
|
||||
for element key index range elements do
|
||||
if 2 * subSum + element = sum then
|
||||
incr(count);
|
||||
indexList[count] := index;
|
||||
end if;
|
||||
subSum +:= element;
|
||||
end for;
|
||||
indexList := indexList[.. count];
|
||||
end func;
|
||||
|
||||
const proc: main is func
|
||||
local
|
||||
var array integer: indexList is 0 times 0;
|
||||
var integer: element is 0;
|
||||
begin
|
||||
indexList := equilibriumIndex(numList);
|
||||
write("Found:");
|
||||
for element range indexList do
|
||||
write(" " <& element);
|
||||
end for;
|
||||
writeln;
|
||||
end func;
|
||||
Loading…
Add table
Add a link
Reference in a new issue