Munchausen numbers: Difference between revisions

Added Ruby
m (→‎{{header|Pascal}}: show that count is number Combinations with repetition)
(Added Ruby)
Line 9:
Find all Munchausen numbers between 1 and 5000
<br/><br/>
 
=={{header|ALGOL 68}}==
<lang algol68># Find Munchausen Numbers between 1 and 5000 #
Line 422 ⟶ 423:
<pre>1
3435</pre>
 
=={{header|Pascal}}==
{{works with|Free Pascal}}
Line 536 ⟶ 538:
{{out}}
<pre>D:\mau>rexx munch
1
3435
</pre>
 
=={{header|Ruby}}==
<lang ruby>POW = [0] + (1..9).map{|i| i**i}
 
def munchausen_number?(n)
digits(n).inject(0){|sum,i| sum + POW[i]} == n
end
 
def digits(n)
ary = []
while n > 0
n,mod = n.divmod(10)
ary << mod
end
ary
end
 
(1..5000).each do |i|
puts i if munchausen_number?(i)
end</lang>
 
{{out}}
<pre>
1
3435
Anonymous user