RosettaCodeData/Task/Hamming-numbers/PicoLisp/hamming-numbers.l

14 lines
448 B
Text
Raw Permalink Normal View History

2013-04-10 21:29:02 -07:00
(de hamming (N)
(let (L (1) H)
(do N
(for (X L X (cadr X)) # Find smallest result
(setq H (car X)) )
(idx 'L H NIL) # Remove it
(for I (2 3 5) # Generate next results
(idx 'L (* I H) T) ) )
H ) )
(println (make (for N 20 (link (hamming N)))))
2018-06-22 20:57:24 +00:00
(println (hamming 1691)) # very fast
(println (hamming 1000000)) # runtime about 13 minutes on i5-3570S