/* Fill array with Van Eck sequence */ proc nonrec make_eck([*] word eck) void: int i, j, max; max := dim(eck,1)-1; for i from 0 upto max do eck[i] := 0 od; for i from 0 upto max-1 do j := i - 1; while j >= 0 and eck[i] ~= eck[j] do j := j - 1 od; if j >= 0 then eck[i+1] := i - j fi od corp /* Print eck[0..9] and eck[990..999] */ proc nonrec main() void: word i; [1000] word eck; make_eck(eck); for i from 0 upto 9 do write(eck[i]:4) od; writeln(); for i from 990 upto 999 do write(eck[i]:4) od; writeln() corp