19 lines
432 B
Ruby
19 lines
432 B
Ruby
mian_chowla = Enumerator.new do |yielder|
|
|
mc, sums = [1], {}
|
|
1.step do |n|
|
|
mc << n
|
|
if mc.none?{|k| sums[k+n] } then
|
|
mc.each{|k| sums[k+n] = true }
|
|
yielder << n
|
|
else
|
|
mc.pop # n didn't work, get rid of it.
|
|
end
|
|
end
|
|
end
|
|
|
|
res = mian_chowla.take(100).to_a
|
|
|
|
s = " of the Mian-Chowla sequence are:\n"
|
|
puts "The first 30 terms#{s}#{res[0,30].join(' ')}\n
|
|
Terms 91 to 100#{s}#{res[90,10].join(' ')}"
|