40 lines
555 B
Plaintext
40 lines
555 B
Plaintext
INT FUNC LastPos(INT ARRAY a INT count,value)
|
|
INT pos
|
|
|
|
pos=count-1
|
|
WHILE pos>=0 AND a(pos)#value
|
|
DO
|
|
pos==-1
|
|
OD
|
|
RETURN (pos)
|
|
|
|
PROC Main()
|
|
DEFINE MAX="1000"
|
|
INT ARRAY seq(MAX)
|
|
INT i,pos
|
|
|
|
seq(0)=0
|
|
FOR i=1 TO MAX-1
|
|
DO
|
|
pos=LastPos(seq,i-1,seq(i-1))
|
|
IF pos>=0 THEN
|
|
seq(i)=i-1-pos
|
|
ELSE
|
|
seq(i)=0
|
|
FI
|
|
OD
|
|
|
|
PrintE("Van Eck first 10 terms:")
|
|
FOR i=0 TO 9
|
|
DO
|
|
PrintI(seq(i)) Put(32)
|
|
OD
|
|
PutE() PutE()
|
|
|
|
PrintE("Van Eck terms 991-1000:")
|
|
FOR i=990 TO 999
|
|
DO
|
|
PrintI(seq(i)) Put(32)
|
|
OD
|
|
RETURN
|