Home > VBNet > Prime numbers using the Sieve of Eratosthenes

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

Categories: VBNet Tags:
  1. No comments yet.
  1. No trackbacks yet.