Recaman's sequence: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add Draco) |
Not a robot (talk | contribs) (Add MAD) |
||
Line 1,701: | Line 1,701: | ||
The first duplicated term is a[24] = 42 |
The first duplicated term is a[24] = 42 |
||
lua: not enough memory</pre> |
lua: not enough memory</pre> |
||
=={{header|MAD}}== |
|||
<lang mad> NORMAL MODE IS INTEGER |
|||
VECTOR VALUES ELEMF = $2HA(,I2,4H) = ,I2*$ |
|||
DIMENSION A(100) |
|||
A(0) = 0 |
|||
PRINT COMMENT $ FIRST 15 ELEMENTS$ |
|||
PRINT FORMAT ELEMF,0,0 |
|||
THROUGH EL, FOR I=1, 1, I.GE.15 |
|||
EL PRINT FORMAT ELEMF,I,NEXT.(I) |
|||
PRINT COMMENT $ $ |
|||
PRINT COMMENT $ FIRST REPEATED ELEMENT$ |
|||
RPT THROUGH RPT, FOR I=I, 1, FIND.(I,NEXT.(I)) |
|||
PRINT FORMAT ELEMF,I,A(I) |
|||
INTERNAL FUNCTION(N,TOP) |
|||
ENTRY TO FIND. |
|||
FI=0 |
|||
SRCH WHENEVER FI.GE.TOP, FUNCTION RETURN 0B |
|||
WHENEVER A(FI).E.N, FUNCTION RETURN 1B |
|||
FI=FI+1 |
|||
TRANSFER TO SRCH |
|||
END OF FUNCTION |
|||
INTERNAL FUNCTION(N) |
|||
ENTRY TO NEXT. |
|||
HI=A(N-1)+N |
|||
LO=A(N-1)-N |
|||
WHENEVER LO.L.0 |
|||
A(N)=HI |
|||
OR WHENEVER FIND.(LO,N) |
|||
A(N)=HI |
|||
OTHERWISE |
|||
A(N)=LO |
|||
END OF CONDITIONAL |
|||
FUNCTION RETURN A(N) |
|||
END OF FUNCTION |
|||
END OF PROGRAM </lang> |
|||
{{out}} |
|||
<pre>FIRST 15 ELEMENTS |
|||
A( 0) = 0 |
|||
A( 1) = 1 |
|||
A( 2) = 3 |
|||
A( 3) = 6 |
|||
A( 4) = 2 |
|||
A( 5) = 7 |
|||
A( 6) = 13 |
|||
A( 7) = 20 |
|||
A( 8) = 12 |
|||
A( 9) = 21 |
|||
A(10) = 11 |
|||
A(11) = 22 |
|||
A(12) = 10 |
|||
A(13) = 23 |
|||
A(14) = 9 |
|||
FIRST REPEATED ELEMENT |
|||
A(20) = 42</pre> |
|||
=={{header|Mathematica}} / {{header|Wolfram Language}}== |
=={{header|Mathematica}} / {{header|Wolfram Language}}== |
||
Line 1,715: | Line 1,775: | ||
{43,42,79,78} |
{43,42,79,78} |
||
{21,25}</pre> |
{21,25}</pre> |
||
=={{header|Microsoft Small Basic}}== |
=={{header|Microsoft Small Basic}}== |