Semiprime: Difference between revisions
Content added Content deleted
(→{{header|PL/0}}: Added a solution.) |
(adding lambdatalk) |
||
Line 1,467: | Line 1,467: | ||
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 |
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 |
||
</pre> |
</pre> |
||
=={{header|Lambdatalk}}== |
|||
<syntaxhighlight lang="scheme"> |
|||
{def factors |
|||
{def factors.r |
|||
{lambda {:n :i} |
|||
{if {> :i :n} |
|||
then |
|||
else {if {= {% :n :i} 0} |
|||
then :i {factors.r {/ :n :i} :i} |
|||
else {factors.r :n {+ :i 1}} }}}} |
|||
{lambda {:n} |
|||
{A.new {factors.r :n 2} }}} |
|||
-> factors |
|||
{S.replace \s by space in |
|||
{S.map {lambda {:i} |
|||
{let { {:i :i} {:f {factors :i}} |
|||
} {if {= {A.length :f} 2} |
|||
then :i={A.first :f}*{A.last :f} |
|||
else}} } |
|||
{S.serie 1 100}}} |
|||
-> |
|||
4 = 2*2 |
|||
6 = 2*3 |
|||
9 = 3*3 |
|||
10 = 2*5 |
|||
14 = 2*7 |
|||
15 = 3*5 |
|||
21 = 3*7 |
|||
22 = 2*11 |
|||
25 = 5*5 |
|||
26 = 2*13 |
|||
33 = 3*11 |
|||
34 = 2*17 |
|||
35 = 5*7 |
|||
38 = 2*19 |
|||
39 = 3*13 |
|||
46 = 2*23 |
|||
49 = 7*7 |
|||
51 = 3*17 |
|||
55 = 5*11 |
|||
57 = 3*19 |
|||
58 = 2*29 |
|||
62 = 2*31 |
|||
65 = 5*13 |
|||
69 = 3*23 |
|||
74 = 2*37 |
|||
77 = 7*11 |
|||
82 = 2*41 |
|||
85 = 5*17 |
|||
86 = 2*43 |
|||
87 = 3*29 |
|||
91 = 7*13 |
|||
93 = 3*31 |
|||
94 = 2*47 |
|||
95 = 5*19 |
|||
</syntaxhighlight> |
|||
=={{header|Lingo}}== |
=={{header|Lingo}}== |