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


begin
 
integer function mod(a, b);
integer a, b;
mod := a-(a/b)*b;
 
integer function kprime(n, k);
integer n, k;
begin
    integer p, f;
    f := 0;
    p := 2;
    while f < k and p*p <= n do
    begin
        while mod(n,p) = 0 do
        begin
            n := n / p;
            f := f + 1;
        end;
        p := p + 1;
    end;
    if n > 1 then f := f + 1;
    if f = k then kprime := 1 else kprime := 0;
end;
 
integer i, c, k;
for k := 1 step 1 until 5 do
begin
    write("k =");
    writeon(k);
    writeon(": ");
    c := 0;
    i := 2;
    while c < 10 do
    begin
        if kprime(i, k) <> 0 then
        begin
            writeon(i);
            c := c + 1;
        end;
        i := i + 1;
    end;
end;
end