does my number look big in this?

A Narcissistic Number is a number which is the sum of its own digits, each raised to the power of the number of digits.

1
2
3
4
5
6
For example, take 153 (3 digits):
1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153

and 1634 (4 digits):

1^4 + 6^4 + 3^4 + 4^4 = 1 + 1296 + 81 + 256 = 1634

The Challenge:

Your code must return true or false depending upon whether the given number is a Narcissistic number.

Error checking for text strings or other invalid inputs is not required, only valid integers will be passed into the function.

Answer:

1
2
3
4
5
6
7
8
9
10
11
12

def ( value )
# Code me
sum = 0
value.to_s.split("").each {|item| sum += item.to_i**value.to_s.size}
value == sum
end

#大佬们的回答:
def ( value )
value == value.to_s.chars.map { |x| x.to_i**value.to_s.size }.reduce(:+)
end