N-smooth numbers: Difference between revisions
Content added Content deleted
m (→{{header|Phix}}: added syntax colouring the hard way) |
No edit summary |
||
Line 1,912: | Line 1,912: | ||
The 30,000th to 30,019 521-smooth numbers are: |
The 30,000th to 30,019 521-smooth numbers are: |
||
[62287, 62288, 62291, 62292, 62300, 62304, 62307, 62308, 62310, 62315, 62320, 62321, 62322, 62325, 62328, 62329, 62330, 62331, 62335, 62336]</pre> |
[62287, 62288, 62291, 62292, 62300, 62304, 62307, 62308, 62310, 62315, 62320, 62321, 62322, 62325, 62328, 62329, 62330, 62331, 62335, 62336]</pre> |
||
=={{header|Mathematica}} / {{header|Wolfram Language}}== |
|||
<lang Mathematica>ClearAll[GenerateSmoothNumbers] |
|||
GenerateSmoothNumbers[max_?Positive] := GenerateSmoothNumbers[max, 7] |
|||
GenerateSmoothNumbers[max_?Positive, maxprime_?Positive] := |
|||
Module[{primes, len, vars, body, endspecs, its, data}, |
|||
primes = Prime[Range[PrimePi[maxprime]]]; |
|||
len = Length[primes]; |
|||
If[max < Min[primes], |
|||
{} |
|||
, |
|||
vars = Table[Unique[], len]; |
|||
body = Times @@ (primes^vars); |
|||
endspecs = Prepend[Most[primes^vars], 1]; |
|||
endspecs = FoldList[Times, endspecs]; |
|||
its = Transpose[{vars, ConstantArray[0, len], MapThread[N@Log[#1, max/#2] &, {primes, endspecs}]}]; |
|||
With[{b = body, is = its}, |
|||
data = Table[b, Evaluate[Sequence @@ is]]; |
|||
]; |
|||
data = Sort[Flatten[data]]; |
|||
data |
|||
] |
|||
] |
|||
Take[GenerateSmoothNumbers[10^8, 2], 25] |
|||
Take[GenerateSmoothNumbers[200, 3], 25] |
|||
Take[GenerateSmoothNumbers[200, 5], 25] |
|||
Take[GenerateSmoothNumbers[200, 7], 25] |
|||
Take[GenerateSmoothNumbers[200, 11], 25] |
|||
Take[GenerateSmoothNumbers[200, 13], 25] |
|||
Take[GenerateSmoothNumbers[200, 17], 25] |
|||
Take[GenerateSmoothNumbers[200, 19], 25] |
|||
Take[GenerateSmoothNumbers[200, 23], 25] |
|||
Take[GenerateSmoothNumbers[200, 29], 25] |
|||
Take[GenerateSmoothNumbers[10^40, 3], {3000, 3002}] |
|||
Take[GenerateSmoothNumbers[10^15, 5], {3000, 3002}] |
|||
Take[GenerateSmoothNumbers[10^10, 7], {3000, 3002}] |
|||
Take[GenerateSmoothNumbers[10^7, 11], {3000, 3002}] |
|||
Take[GenerateSmoothNumbers[10^7, 13], {3000, 3002}] |
|||
Take[GenerateSmoothNumbers[10^6, 17], {3000, 3002}] |
|||
Take[GenerateSmoothNumbers[10^5, 19], {3000, 3002}] |
|||
Take[GenerateSmoothNumbers[10^5, 23], {3000, 3002}] |
|||
Take[GenerateSmoothNumbers[10^5, 29], {3000, 3002}] |
|||
s = Select[Range[10^5], FactorInteger /* Last /* First /* LessEqualThan[503]]; |
|||
s[[30000 ;; 30019]] |
|||
s = Select[Range[10^5], FactorInteger /* Last /* First /* LessEqualThan[509]]; |
|||
s[[30000 ;; 30019]] |
|||
s = Select[Range[10^5], FactorInteger /* Last /* First /* LessEqualThan[521]]; |
|||
s[[30000 ;; 30019]]</lang> |
|||
{{out}} |
|||
<pre{1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216} |
|||
{1,2,3,4,6,8,9,12,16,18,24,27,32,36,48,54,64,72,81,96,108,128,144,162,192} |
|||
{1,2,3,4,5,6,8,9,10,12,15,16,18,20,24,25,27,30,32,36,40,45,48,50,54} |
|||
{1,2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21,24,25,27,28,30,32,35,36} |
|||
{1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,18,20,21,22,24,25,27,28,30,32} |
|||
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,20,21,22,24,25,26,27,28} |
|||
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,24,25,26,27} |
|||
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26} |
|||
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25} |
|||
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25} |
|||
{91580367978306252441724649472,92829823186414819915547541504,94096325042746502515294076928} |
|||
{278942752080,279936000000,281250000000} |
|||
{50176000,50331648,50388480} |
|||
{2112880,2116800,2117016} |
|||
{390000,390390,390625} |
|||
{145800,145860,146016} |
|||
{74256,74358,74360} |
|||
{46552,46575,46585} |
|||
{33516,33524,33534} |
|||
{62913,62914,62916,62918,62920,62923,62926,62928,62930,62933,62935,62937,62944,62946,62951,62952,62953,62957,62959,62964} |
|||
{62601,62602,62604,62607,62608,62609,62611,62618,62620,62622,62624,62625,62626,62628,62629,62634,62640,62643,62645,62646} |
|||
{62287,62288,62291,62292,62300,62304,62307,62308,62310,62315,62320,62321,62322,62325,62328,62329,62330,62331,62335,62336}</pre> |
|||
=={{header|Nim}}== |
=={{header|Nim}}== |