17 lines
479 B
Plaintext
17 lines
479 B
Plaintext
AlmostPrimes:=proc(k, numvalues::posint:=10)
|
|
local aprimes, i, intfactors;
|
|
aprimes := Array([]);
|
|
i := 0;
|
|
|
|
do
|
|
i := i + 1;
|
|
intfactors := ifactors(i)[2];
|
|
intfactors := [seq(seq(intfactors[i][1], j=1..intfactors[i][2]),i = 1..numelems(intfactors))];
|
|
if numelems(intfactors) = k then
|
|
ArrayTools:-Append(aprimes,i);
|
|
end if;
|
|
until numelems(aprimes) = 10:
|
|
aprimes;
|
|
end proc:
|
|
<seq( AlmostPrimes(i), i = 1..5 )>;
|