Narcissistic decimal number: Difference between revisions

Content added Content deleted
(Added 11l)
Line 2,850: Line 2,850:
{{out}}
{{out}}
<pre>0 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474 54748 92727 93084 548834 1741725 4210818 9800817 9926315 </pre>
<pre>0 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474 54748 92727 93084 548834 1741725 4210818 9800817 9926315 </pre>

=={{header|Nim}}==
A simple solution which runs in about one second.
<lang Nim>import sequtils, strutils

func digits(n: Natural): seq[int] =
result.add n mod 10
var n = n div 10
while n != 0:
result.add n mod 10
n = n div 10

proc findNarcissistic(count: Natural): seq[int] =
var
n = 0
m = 10
powers = toseq(0..9)
while true:
while n < m:
var s = 0
for d in n.digits:
inc s, powers[d]
if s == n:
result.add n
if result.len == count: return
inc n
for i in 0..9: powers[i] *= i
m *= 10

echo findNarcissistic(25).join(" ")</lang>

{{out}}
<pre>0 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474 54748 92727 93084 548834 1741725 4210818 9800817 9926315</pre>


=={{header|Oforth}}==
=={{header|Oforth}}==