Jump to content

Narcissistic decimal number: Difference between revisions

no edit summary
No edit summary
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
</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}}==
70

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.