RosettaCodeData/Task/Semiprime/Maple/semiprime-1.maple

11 lines
291 B
Text
Raw Permalink Normal View History

2015-11-18 06:14:39 +00:00
SemiPrimes := proc( n )
local fact;
2016-12-05 22:15:40 +01:00
fact := NumberTheory:-Divisors( n ) minus {1, n};
2015-11-18 06:14:39 +00:00
if numelems( fact ) in {1,2} and not( member( 'false', isprime ~ ( fact ) ) ) then
return n;
else
return NULL;
end if;
end proc:
2016-12-05 22:15:40 +01:00
{ seq( SemiPrimes( i ), i = 1..100 ) };