How to generate random Powerball lottery numbers (pick 5 numbers from 1-69 + 1 Powerball from 1-26) in VB.NET

1 Answer

0 votes
Imports System
Imports System.Collections.Generic

Module PowerballGenerator

    '
    '   Generate random Powerball lottery numbers:
    '       - 5 distinct numbers from 1–69
    '       - 1 Powerball number from 1–26
    '
    '   This program uses:
    '       - System.Random for RNG
    '       - SortedSet(Of Integer) for uniqueness + sorted output
    '       - clean, idiomatic VB.NET structure with helper functions
    '

    '
    '   GenerateMainNumbers():
    '   Generates 5 UNIQUE numbers in the range [1, 69].
    '   SortedSet automatically:
    '       - prevents duplicates
    '       - keeps numbers sorted
    '
    Function GenerateMainNumbers(rng As Random) As SortedSet(Of Integer)
        Dim numbers As New SortedSet(Of Integer)()

        While numbers.Count < 5
            Dim n As Integer = rng.Next(1, 70)   ' 1–69
            numbers.Add(n)
        End While

        Return numbers
    End Function

    '
    '   GeneratePowerball():
    '   Generates a single number in the range [1, 26].
    '
    Function GeneratePowerball(rng As Random) As Integer
        Return rng.Next(1, 27)   ' 1–26
    End Function

    Sub Main()
        Dim rng As New Random()

        Dim mainNumbers As SortedSet(Of Integer) = GenerateMainNumbers(rng)
        Dim powerball As Integer = GeneratePowerball(rng)

        Console.WriteLine("Random Powerball numbers:")
        Console.Write("Main numbers: ")

        For Each n As Integer In mainNumbers
            Console.Write(n & " ")
        Next

        Console.WriteLine()
        Console.WriteLine("Powerball: " & powerball)
    End Sub

End Module


'
' run:
'
' Random Powerball numbers:
' Main numbers: 27 37 39 43 57 
' Powerball: 9
'

 



answered Jul 29 by avibootz

Related questions

...