RosettaCodeData/Task/Hamming-numbers/FunL/hamming-numbers-2.funl
2023-07-01 13:44:08 -04:00

11 lines
342 B
Text

val hamming = 1 # merge( map((2*), hamming), merge(map((3*), hamming), map((5*), hamming)) )
def
merge( inx@x:_, iny@y:_ )
| x < y = x # merge( inx.tail(), iny )
| x > y = y # merge( inx, iny.tail() )
| otherwise = merge( inx, iny.tail() )
println( hamming.take(20) )
println( hamming(1690) )
println( hamming(2000) )