13 lines
421 B
Text
13 lines
421 B
Text
var square_and_cube = Enumerator({|f|
|
|
1..Inf -> each {|n| f(n**6) }
|
|
})
|
|
|
|
var square_but_not_cube = Enumerator({|f|
|
|
1..Inf -> lazy.map {|n| n**2 }.grep {|n| !n.is_power(3) }.each {|n| f(n) }
|
|
})
|
|
|
|
say "First 30 positive integers that are a square but not a cube:"
|
|
say square_but_not_cube.first(30).join(' ')
|
|
|
|
say "First 15 positive integers that are both a square and a cube:"
|
|
say square_and_cube.first(15).join(' ')
|