Semiprime: Difference between revisions

add PicoLisp
(Add Perl implementation)
(add PicoLisp)
Line 481:
ok 19 - 13 19 5
ok 20 - 37 97 11 31</pre>
 
=={{header|PicoLisp}}==
<lang PicoLisp>(de factor (N)
(make
(let
(D 2
L (1 2 2 . (4 2 4 2 4 6 2 6 .))
M (sqrt N) )
(while (>= M D)
(if (=0 (% N D))
(setq M
(sqrt (setq N (/ N (link D)))) )
(inc 'D (pop 'L)) ) )
(link N) ) ) )
 
(println
(filter
'((X)
(let L (factor X)
(and (cdr L) (not (cddr L))) ) )
(conc (range 1 100) (range 1675 1680)) ) )
(bye)</lang>
{{out}}
<pre>(4 6 9 10 14 15 21 22 25 26 33 34 35 38 39 46 49 51 55 57 58 62 65 69 74 77 82 85 86 87 91 93 94 95 1678 1679)</pre>
 
=={{header|PL/I}}==
298

edits