Recaman's sequence: Difference between revisions

Content added Content deleted
(Add Draco)
(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}}==