A   k-Almost-prime   is a natural number   



n


{\displaystyle n}

   that is the product of   



k


{\displaystyle k}

   (possibly identical) primes.



Example

1-almost-primes,   where   



k
=
1


{\displaystyle k=1}

,   are the prime numbers themselves.

2-almost-primes,   where   



k
=
2


{\displaystyle k=2}

,   are the   semiprimes.



Task

Write a function/method/subroutine/... that generates k-almost primes and use it to create a table here of the first ten members of k-Almost primes for   



1
<=
K
<=
5


{\displaystyle 1<=K<=5}

.



Related tasks

   Semiprime
   Category:Prime Numbers


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 )>;