Semiprime: Difference between revisions

166 bytes removed ,  4 years ago
m
m (→‎{{header|Phix}}: simplified)
Line 1,469:
=={{header|Phix}}==
<lang Phix>function semiprime(integer n)
sequence f =return length(prime_factors(n,true))==2
integer l = length(f)
return (l=2 and n=f[1]*f[2]) or (l=1 and n=power(f[1],2))
end function
 
sequence s = tagset(100)&tagset(1680,1675)
procedure test(integer start, integer stop)
for i=length(s) to 1 by -1 do
sequence s = {}
if not semiprime(s[i]) then s[i..i] = {} end if
for i=start to stop do
end for
if semiprime(i) then
?s</lang>
s &= i
{{out}}
end if
end for
?s
?length(s)
end procedure
test(1,100)
test(1675,1680)</lang>
<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}
34
{1678,1679}
2
</pre>
 
7,806

edits