' Calculate 100 primes

Dim primenum(100)
totalprimes = 100

Print "Start..."

Call GetTime
starttime = TI

primenum(1) = 2: primenum(2) = 3
testnum = 3: lasttest = 2: lastprime = 2

Do
    If testnum > primenum(lasttest) * primenum(lasttest) Then
        lasttest = lasttest + 1
    End If
    testnum = testnum + 2: primeptr = 2

    Do
        If (testnum Mod primenum(primeptr)) <> 0 Then
            primeptr = primeptr + 1
        Else
            testnum = testnum + 2
            primeptr = 2
        End If
    Loop Until primeptr > lasttest
    lastprime = lastprime + 1
    primenum(lastprime) = testnum

    Print testnum;
Loop Until lastprime = totalprimes

Print "...Done"

Call GetTime
endtime = TI

Print
Print endtime - starttime; " seconds."

End

Sub GetTime
    TI$ = TIME$
    TI = Val(Mid$(TI$, 1, 2))*3600
    TI = TI + Val(Mid$(TI$,4,2))*60
    TI = TI + Val(Mid$(TI$,7,2))
End Sub
