Almost prime: Difference between revisions
Content deleted Content added
→{{header|Prolog}}: simplify generation of primes |
Added Mathematica |
||
Line 270: | Line 270: | ||
:... |
:... |
||
The results of the odd steps in this procedure are the desired result. |
The results of the odd steps in this procedure are the desired result. |
||
=={{header|Mathematica}}== |
|||
<lang Mathematica>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</lang> |
|||
{{out}} |
|||
<pre>k = 1: 2 3 5 7 11 13 17 19 23 29 |
|||
k = 2: 4 6 9 10 14 15 21 22 25 26 |
|||
k = 3: 8 12 18 20 27 28 30 42 44 45 |
|||
k = 4: 16 24 36 40 54 56 60 81 84 88 |
|||
k = 5: 32 48 72 80 108 112 120 162 168 176</pre> |
|||
=={{header|PARI/GP}}== |
=={{header|PARI/GP}}== |