Sequence of primes by trial division: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 2,197: | Line 2,197: | ||
inventory Known1=2@, 3@ |
inventory Known1=2@, 3@ |
||
Global IsPrime=lambda Known1 (x as decimal) -> { |
Global IsPrime=lambda Known1 (x as decimal) -> { |
||
=false |
|||
=0=1 |
|||
if exist(Known1, x) then =true : exit |
|||
if x<=5 OR frac(x) then {if x == 2 OR x == 3 OR x == 5 then Append Known1, x : =true |
|||
Break} |
|||
if frac(x/2) else exit |
|||
if frac(x/3) else exit |
|||
x1=sqrt(x):d = 5@ |
|||
do |
|||
if frac(x/d) else exit |
|||
⚫ | |||
d += 2: if d>x1 then Append Known1, x : =true : exit |
|||
if frac(x/d) else exit |
|||
⚫ | |||
loop} |
|||
always |
|||
} |
} |
||
takePrimes=lambda IsPrime, i=2 (n)-> { |
takePrimes=lambda IsPrime, i=2 (n)-> { |
||
Line 2,216: | Line 2,217: | ||
=array([]) |
=array([]) |
||
} |
} |
||
report "["+takePrimes(10)#str$(", ")+"]" |
|||
m=takePrimes(90) // skip 90 primes |
m=takePrimes(90) // skip 90 primes |
||
report "["+takePrimes(100)#str$(", ")+"]" |
|||
} |
} |
||
primes_by_trial_division |
primes_by_trial_division |
||
Line 2,227: | Line 2,228: | ||
[547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223] |
[547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223] |
||
</pre> |
</pre> |
||
=={{header|Mathematica}} / {{header|Wolfram Language}}== |
=={{header|Mathematica}} / {{header|Wolfram Language}}== |