Mega Code Archive

 
Categories / VB.Net Tutorial / Operator
 

Prime numbers using the Sieve of Eratosthenes

Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Collections Public Class Tester     Public Shared Sub Main         Dim needBreak As Boolean = True         Console.WriteLine("Prime numbers using the ""Sieve of Eratosthenes""")         Dim index As Integer = 1         Dim counter As Integer         Do While (index < (MaxNumber - 1))             index += 1             If (PrimeStorage(index) = True) Then                 For counter = index * 2 To MaxNumber - 1 Step index                     PrimeStorage(counter) = False                 Next counter             End If         Loop         For counter = 2 To 7999999             If (GetBit(counter) = 1) Then                 If (counter < 50) Or (counter > 7999800) Then                     Console.WriteLine(counter)                 ElseIf (needBreak = True) Then                     Console.WriteLine("...")                     needBreak = False                 End If             End If         Next counter     End Sub          Private  Const MaxNumber As Integer = 8000000     Private Shared PrimeStorage As New BitArray(MaxNumber, True)     Public Shared Function GetBit(ByVal index As Integer) As Integer         If (PrimeStorage(index) = True) Then Return 1 Else Return 0     End Function      End Class Prime numbers using the "Sieve of Eratosthenes 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 ... 7999811 7999813 7999847 7999909 7999913 7999919 7999921 7999963 7999993