Strong and weak primes: Difference between revisions

Frink
(Added C++ solution)
(Frink)
Line 387:
37,780 weak primes below 1,000,000
321,750 weak primes below 10,000,000
</pre>
 
=={{header|Frink}}==
<lang frink>
strongPrimes[end=undef] := select[primes[3,end], {|p| p > (previousPrime[p] + nextPrime[p])/2 }]
weakPrimes[end=undef] := select[primes[3,end], {|p| p < (previousPrime[p] + nextPrime[p])/2 }]
 
println["First 36 strong primes: " + first[strongPrimes[], 36]]
println["Strong primes below 1,000,000: " + length[strongPrimes[1_000_000]]]
println["Strong primes below 10,000,000: " + length[strongPrimes[10_000_000]]]
 
println["First 37 weak primes: " + first[weakPrimes[], 37]]
println["Weak primes below 1,000,000: " + length[weakPrimes[1_000_000]]]
println["Weak primes below 10,000,000: " + length[weakPrimes[10_000_000]]]
</lang>
 
{{out}}
<pre>
First 36 strong primes: [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]
Strong primes below 1,000,000: 37723
Strong primes below 10,000,000: 320991
First 37 weak primes: [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]
Weak primes below 1,000,000: 37780
Weak primes below 10,000,000: 321750
</pre>
 
490

edits