Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Create your online store today with Shopify

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Disclosure: My content contains affiliate links.

43,235 questions

56,138 answers

573 users

How to print the first 100 prime numbers in VB.NET

1 Answer

0 votes
Imports System
Imports System.Collections.Generic

'
'   Print the first 100 prime numbers.
'
'   The program is structured for clarity:
'   - A helper function determines whether a number is prime.
'   - A generator function collects primes until reaching the desired count.
'   - Comments explain the reasoning behind each step.
'

Module FirstHundredPrimes

    '
    '   Determine whether a number is prime.
    '
    '   The function uses a straightforward and efficient approach:
    '   - Reject numbers below 2.
    '   - Only test divisors up to the square root of the number.
    '     Instead of calling Math.Sqrt repeatedly, we compare i * i <= n
    '     to avoid unnecessary floating‑point work.
    '
    Private Function IsPrime(n As Integer) As Boolean
        If n < 2 Then
            Return False
        End If

        For i As Integer = 2 To CInt(Math.Floor(Math.Sqrt(n)))
            If n Mod i = 0 Then
                Return False   ' Found a divisor → not prime
            End If
        Next

        Return True            ' No divisors found → prime
    End Function

    '
    '   Generate a list containing the first `count` prime numbers.
    '
    '   The function increments through natural numbers,
    '   checks primality, and collects primes until the list is full.
    '
    Private Function FirstNPrimes(count As Integer) As List(Of Integer)
        Dim primes As New List(Of Integer)(capacity:=count)
        Dim number As Integer = 2   ' Start from the first prime candidate

        While primes.Count < count
            If IsPrime(number) Then
                primes.Add(number)
            End If
            number += 1
        End While

        Return primes
    End Function

    '
    '   Compute and print the first 100 prime numbers.
    '   Each prime is printed on its own line.
    '
    Sub Main()
        Dim primes = FirstNPrimes(100)

        For Each p In primes
            Console.WriteLine(p)
        Next
    End Sub

End Module


'
' run:
'
' 2
' 3
' 5
' 7
' 11
' 13
' 17
' 19
' 23
' 29
' 31
' 37
' 41
' 43
' 47
' 53
' 59
' 61
' 67
' 71
' 73
' 79
' 83
' 89
' 97
' 101
' 103
' 107
' 109
' 113
' 127
' 131
' 137
' 139
' 149
' 151
' 157
' 163
' 167
' 173
' 179
' 181
' 191
' 193
' 197
' 199
' 211
' 223
' 227
' 229
' 233
' 239
' 241
' 251
' 257
' 263
' 269
' 271
' 277
' 281
' 283
' 293
' 307
' 311
' 313
' 317
' 331
' 337
' 347
' 349
' 353
' 359
' 367
' 373
' 379
' 383
' 389
' 397
' 401
' 409
' 419
' 421
' 431
' 433
' 439
' 443
' 449
' 457
' 461
' 463
' 467
' 479
' 487
' 491
' 499
' 503
' 509
' 521
' 523
' 541
'

 



answered Aug 9, 2021 by avibootz
edited Aug 18 by avibootz
...