Strong and weak primes: Difference between revisions
Content added Content deleted
m (C++ - use ostream_iterator to print list of primes) |
No edit summary |
||
Line 1,436: | Line 1,436: | ||
37,780 weak primes below 1,000,000 |
37,780 weak primes below 1,000,000 |
||
321,750 weak primes below 10,000,000 |
321,750 weak primes below 10,000,000 |
||
</pre> |
|||
=={{header|PureBasic}}== |
|||
<lang PureBasic>#MAX=10000000+20 |
|||
Global Dim P.b(#MAX) : FillMemory(@P(),#MAX,1,#PB_Byte) |
|||
Global NewList Primes.i() |
|||
Global NewList Strong.i() |
|||
Global NewList Weak.i() |
|||
For n=2 To Sqr(#MAX)+1 : If P(n) : m=n*n : While m<=#MAX : P(m)=0 : m+n : Wend : EndIf : Next |
|||
For i=2 To #MAX : If p(i) : AddElement(Primes()) : Primes()=i : EndIf : Next |
|||
If FirstElement(Primes()) |
|||
pp=Primes() |
|||
While NextElement(Primes()) |
|||
ap=Primes() |
|||
If NextElement(Primes()) : np=Primes() : Else : Break : EndIf |
|||
If ap>(pp+np)/2.0 : AddElement(Strong()) : Strong()=ap : If ap<1000000 : c1+1 : EndIf : EndIf |
|||
If ap<(pp+np)/2.0 : AddElement(Weak()) : Weak()=ap : If ap<1000000 : c2+1 : EndIf : EndIf |
|||
PreviousElement(Primes()) : pp=Primes() |
|||
Wend |
|||
EndIf |
|||
OpenConsole() |
|||
If FirstElement(Strong()) |
|||
PrintN("First 36 strong primes:") |
|||
Print(Str(Strong())+" ") |
|||
For i=2 To 36 : If NextElement(Strong()) : Print(Str(Strong())+" ") : Else : Break : EndIf : Next |
|||
PrintN("") |
|||
EndIf |
|||
PrintN("Number of strong primes below 1'000'000 = "+FormatNumber(c1,0,".","'")) |
|||
PrintN("Number of strong primes below 10'000'000 = "+FormatNumber(ListSize(Strong()),0,".","'")) |
|||
If FirstElement(Weak()) |
|||
PrintN("First 37 weak primes:") |
|||
Print(Str(Weak())+" ") |
|||
For i=2 To 37 : If NextElement(Weak()) : Print(Str(Weak())+" ") : Else : Break : EndIf : Next |
|||
PrintN("") |
|||
EndIf |
|||
PrintN("Number of weak primes below 1'000'000 = "+FormatNumber(c2,0,".","'")) |
|||
PrintN("Number of weak primes below 10'000'000 = "+FormatNumber(ListSize(Weak()),0,".","'")) |
|||
Input()</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 |
|||
Number of strong primes below 1'000'000 = 37'723 |
|||
Number of strong primes below 10'000'000 = 320'991 |
|||
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 |
|||
Number of weak primes below 1'000'000 = 37'780 |
|||
Number of weak primes below 10'000'000 = 321'750 |
|||
</pre> |
</pre> |
||