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


kprimes[k_,n_] :=
  (* generates a list of the n smallest k-almost-primes *)
  Module[{firstnprimes, runningkprimes = {}},
  firstnprimes = Prime[Range[n]];
  runningkprimes = firstnprimes;
  Do[
   runningkprimes = 
     Outer[Times, firstnprimes , runningkprimes ] // Flatten // Union  // Take[#, n] & ; 
   (* only keep lowest n numbers in our running list *)
   , {i, 1, k - 1}];
  runningkprimes
  ]
(* now to create table with n=10 and k ranging from 1 to 5 *)
Table[Flatten[{"k = " <> ToString[i] <> ": ", kprimes[i, 10]}], {i,1,5}] // TableForm