Sequence of primes by trial division: Difference between revisions

m
No edit summary
Line 2,197:
inventory Known1=2@, 3@
Global IsPrime=lambda Known1 (x as decimal) -> {
=false
=0=1
if exist(Known1, x) then =1=1true : exit
if x<=5 OR frac(x) then {if x == 2 OR x == 3 OR x == 5 then Append Known1, x : =1=1true
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 : =1=1 : exit
d += 2: if d>x1 then Append Known1, x : =true if frac(x/d) else: exit
d += 4: if frac(x/d<= x1) else Append Known1, x : =1=1: exit
d += 24: if d><= x1 thenelse Append Known1, x : =1=1 true: exit
loop}
always
}
takePrimes=lambda IsPrime, i=2 (n)-> {
Line 2,216 ⟶ 2,217:
=array([])
}
Reportreport "["+takePrimes(10)#str$(", ")+"]"
m=takePrimes(90) // skip 90 primes
Reportreport "["+takePrimes(100)#str$(", ")+"]"
}
primes_by_trial_division
Line 2,227 ⟶ 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]
</pre>
 
 
 
=={{header|Mathematica}} / {{header|Wolfram Language}}==
404

edits