RosettaCodeData/Task/Hamming-numbers/FunL/hamming-numbers-2.funl

12 lines
342 B
Text
Raw Permalink Normal View History

2016-12-05 23:44:36 +01:00
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) )