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


kprime = proc (n,k: int) returns (bool)
    f: int := 0
    p: int := 2
    while f<k & p*p<=n do
        while n//p=0 do
            n := n/p
            f := f+1
        end
        p := p+1
    end
    if n>1 then f:=f+1 end
    return(f=k)
end kprime
 
start_up = proc ()
    po: stream := stream$primary_output()
    for k: int in int$from_to(1,5) do
        i: int := 2
        c: int := 0
        stream$puts(po, "k = " || int$unparse(k) || ":")
        while c<10 do  
            if kprime(i,k) then
                stream$putright(po, int$unparse(i), 4)
                c := c+1
            end
            i := i+1
        end
        stream$putl(po, "")
    end
end start_up