Strong and weak primes: Difference between revisions

Added Easylang
m (→‎{{header|Wren}}: Minor tidy)
(Added Easylang)
Line 796:
</pre>
 
 
=={{header|EasyLang}}==
<syntaxhighlight>
fastfunc isprim num .
i = 3
while i <= sqrt num
if num mod i = 0
return 0
.
i += 2
.
return 1
.
func nextprim n .
n += 2
while isprim n = 0
n += 2
.
return n
.
proc strwkprimes ncnt sgn . .
write "First " & ncnt & ": "
pr2 = 2
pr3 = 3
repeat
pr1 = pr2
pr2 = pr3
until pr2 >= 10000000
pr3 = nextprim pr3
if pr1 < 1000000 and pr2 > 1000000
print ""
print "Count lower 10e6: " & cnt
.
if sgn * pr2 > sgn * (pr1 + pr3) / 2
cnt += 1
if cnt <= ncnt
write pr2 & " "
.
.
.
print "Count lower 10e7: " & cnt
print ""
.
print "Strong primes:"
strwkprimes 36 1
print "Weak primes:"
strwkprimes 37 -1
</syntaxhighlight>
 
{{out}}
<pre>
Strong primes:
First 36: 11 17 29 37 41 59 67 71 79 97 101 107 127 137 149 163 179 191 197 223 227 239 251 269 277 281 307 311 331 347 367 379 397 419 431 439
Count lower 10e6: 37723
Count lower 10e7: 320991
 
Weak primes:
First 37: 3 7 13 19 23 31 43 47 61 73 83 89 103 109 113 131 139 151 167 181 193 199 229 233 241 271 283 293 313 317 337 349 353 359 383 389 401
Count lower 10e6: 37780
Count lower 10e7: 321750
</pre>
 
=={{header|Factor}}==
2,083

edits