Van Eck sequence: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add CLU) |
(Added solution for Action!) |
||
Line 363: | Line 363: | ||
0 0 1 0 2 0 2 2 1 6 |
0 0 1 0 2 0 2 2 1 6 |
||
4 7 30 25 67 225 488 0 10 136 |
4 7 30 25 67 225 488 0 10 136 |
||
</pre> |
|||
=={{header|Action!}}== |
|||
<lang Action!>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</lang> |
|||
{{out}} |
|||
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Van_Eck_sequence.png Screenshot from Atari 8-bit computer] |
|||
<pre> |
|||
Van Eck first 10 terms: |
|||
0 0 1 0 2 0 2 2 1 6 |
|||
Van Eck terms 991-1000: |
|||
4 7 30 25 67 225 488 0 10 136 |
|||
</pre> |
</pre> |
||