Disarium numbers: Difference between revisions

→‎{{header|Ruby}}: Rewrite, attempt to be more idiomatic
m (→‎{{header|Free Pascal}}: correct by accident correct value for base 10.Now run correct in Base 11 too)
(→‎{{header|Ruby}}: Rewrite, attempt to be more idiomatic)
Line 2,679:
 
=={{header|Ruby}}==
<syntaxhighlight lang="ruby">defdisariums is_disarium(num)= Enumerator.new do |y|
(1..).each do |n|
n = num.to_s
sumi = 0
y << n if n.digits.reverse.sum{|d| d ** (i+=1) } == n
for i in 1..(n.length)
end
sum += n[i-1].to_i**i
end
return sum == num
end
 
puts disariums.take(18).to_a.join(" ")
i = 0
count = 0
while count < 19
if is_disarium(i)
printf("%d ", i)
count += 1
end
i += 1
end
print("\n")
</syntaxhighlight>
{{out}}
1,149

edits