Narcissistic decimal number: Difference between revisions

Content added Content deleted
Line 4,907: Line 4,907:
</syntaxhighlight>
</syntaxhighlight>


=={{header|Ruby}}==
=={{header|RPL}}==
We started the challenge on a genuine HP-28S, powered by a 4-bit CPU running at 2 MHz.
We started the challenge on a genuine HP-28S, powered by a 4-bit CPU running at 2 MHz.
≪ DUP XPON 1 + → n m
≪ DUP XPON 1 + → n m
Line 4,913: Line 4,913:
10 MOD LAST / IP SWAP m ^ ROT + SWAP '''END'''
10 MOD LAST / IP SWAP m ^ ROT + SWAP '''END'''
DROP n ==
DROP n ==
≫ ≫ ‘'''NAR6?'''’ STO
≫ ≫ '<span style="color:blue">NAR6?</span>' STO
≪ { 0 } 1 999 '''FOR''' n IF n '''NAR6?''' '''THEN''' n + '''END'''
≪ { 0 } 1 999 '''FOR''' n IF n <span style="color:blue">NAR6?</span> '''THEN''' n + '''END'''
'TASK' STO
EVAL
It took 4 minutes and 20 seconds to get the first 14 numbers.
It took 4 minutes and 20 seconds to get the first 14 numbers.
{{out}}
{{out}}
Line 4,927: Line 4,927:
≪ { 999 } 0 CON
≪ { 999 } 0 CON
0 9 '''FOR''' h 0 9 '''FOR''' t 0 9 '''FOR''' u
0 9 '''FOR''' h 0 9 '''FOR''' t 0 9 '''FOR''' u
'''IF''' h t u + + '''THEN''' h 100 * t 10 * u + + h m ^ t m ^ u m ^ + + PUT '''END NEXT NEXT NEXT'''
'''IF''' h t u + + '''THEN''' h 100 * t 10 * u + + h m ^ t m ^ u m ^ + + PUT '''END'''
''''POWM'''' STO
'''NEXT NEXT NEXT'''
'<span style="color:green">POWM</span>' STO
≫ ≫ ''''INIT'''' STO
≫ ≫ '<span style="color:blue">INIT</span>' STO
≪ DUP XPON 1 + → n m
≪ DUP XPON 1 + → n m
Line 4,935: Line 4,936:
'''WHILE''' DUP '''REPEAT'''
'''WHILE''' DUP '''REPEAT'''
1000 MOD LAST / IP
1000 MOD LAST / IP
'''IF''' SWAP '''THEN''' LAST '''POWM''' SWAP GET ROT + SWAP '''END'''
'''IF''' SWAP '''THEN''' LAST <span style="color:green">POWM</span> SWAP GET ROT + SWAP '''END'''
'''END''' DROP n ==
'''END''' DROP n ==
≫ ≫ ''''NAR6?'''' STO
≫ ≫ '<span style="color:blue">NAR6?</span>' STO
≪ DUP INIT DUP ALOG SWAP 1 - ALOG
≪ DUP <span style="color:blue">INIT</span> DUP ALOG SWAP 1 - ALOG
'''WHILE''' DUP2 > '''REPEAT'''
'''WHILE''' DUP2 > '''REPEAT'''
'''IF''' DUP '''NAR6? THEN''' ROT OVER + ROT ROT '''END'''
'''IF''' DUP <span style="color:blue">NAR6?</span> '''THEN''' ROT OVER + ROT ROT '''END'''
1 +
1 +
'''END''' DROP2 ≫ ''''RTASK'''' STO
'''END''' DROP2
≫ '<span style="color:blue">RTASK</span>' STO
{{in}}
{{in}}
<pre>
<pre>