Narcissistic decimal number: Difference between revisions

Content added Content deleted
No edit summary
Line 2,739: Line 2,739:
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
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>

=={{header|Ksh}}==
<lang ksh>
#!/bin/ksh

# Narcissistic decimal number

# # Variables:
#

# # Functions:
#

# # Function _isnarcissist(n) - return 1 if n is a narcissistic decimal number
#
function _isnarcissist {
typeset _n ; integer _n=$1

(( ${_n} == $(_sumpowdigits ${_n}) )) && return 1
return 0
}

# # Function _sumpowdigits(n) - return sum of the digits raised to #digit power
#
function _sumpowdigits {
typeset _n ; integer _n=$1
typeset _i ; typeset -si _i
typeset _sum ; integer _sum=0

for ((_i=0; _i<${#_n}; _i++)); do
(( _sum+=(${_n:_i:1}**${#_n}) ))
done
echo ${_sum}
}

######
# main #
######

integer i cnt=0
for ((i=0; cnt<25; i++)); do
_isnarcissist ${i} ; (( $? )) && printf "%3d. %d\n" $(( ++cnt )) ${i}
done
</lang>
{{out}}<pre>
1. 0
2. 1
3. 2
4. 3
5. 4
6. 5
7. 6
8. 7
9. 8
10. 9
11. 153
12. 370
13. 371
14. 407
15. 1634
16. 8208
17. 9474
18. 54748
19. 92727
20. 93084
21. 548834
22. 1741725
23. 4210818
24. 9800817
25. 9926315</pre>


=={{header|Lua}}==
=={{header|Lua}}==