7 lines
213 B
Ruby
7 lines
213 B
Ruby
def middle_square (seed)
|
|
return to_enum(__method__, seed) unless block_given?
|
|
s = seed.digits.size
|
|
loop { yield seed = (seed*seed).to_s.rjust(s*2, "0")[s/2, s].to_i }
|
|
end
|
|
|
|
puts middle_square(675248).take(5)
|