RosettaCodeData/Task/Hamming-numbers/FunL/hamming-numbers-2.funl
2016-12-05 23:44:36 +01: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) )