Narcissistic decimal number: Difference between revisions
Content deleted Content added
Thundergnat (talk | contribs) Rename Perl 6 -> Raku, alphabetize, minor clean-up |
Added Wren |
||
Line 4,037: | Line 4,037: | ||
{{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|Wren}}== |
|||
{{trans|Go}} |
|||
<lang ecmascript>var narc = Fn.new { |n| |
|||
var power = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
|||
var limit = 10 |
|||
var result = [] |
|||
var x = 0 |
|||
while (result.count < n) { |
|||
if (x >= limit) { |
|||
for (i in 0..9) power[i] = power[i] * i |
|||
limit = limit * 10 |
|||
} |
|||
var sum = 0 |
|||
var xx = x |
|||
while (xx > 0) { |
|||
sum = sum + power[xx%10] |
|||
xx = (xx/10).floor |
|||
} |
|||
if (sum == x) result.add(x) |
|||
x = x + 1 |
|||
} |
|||
return result |
|||
} |
|||
System.print(narc.call(25))</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|zkl}}== |
=={{header|zkl}}== |