Microsoft Small Basic

Program Listing: DJQ511-0
' 1000 Prime Numbers
' Copyright (C) 2012-2014 Nonki Takahshi
' Challenge: 2014-06
' Program ID: DJQ511-0
TextWindow.Title = "1000 Prime Numbers"
start = Clock.ElapsedMilliseconds
nMax = 1000
n = 0
p = 2
WritePrime()
p = p + 1
While n < nMax
IsPrime()
While no
p = p + 2
IsPrime()
EndWhile
WritePrime()
p = p + 2
EndWhile
TextWindow.WriteLine("")
end = Clock.ElapsedMilliseconds
TextWindow.WriteLine("(" + (end - start) + "ms)")
TextWindow.WriteLine("")
Sub IsPrime
' param p
' return no = "True" if p is not prime
sqr = Math.Floor(Math.SquareRoot(p))
For d = 3 To sqr Step 2
If Math.Remainder(p, d) = 0 Then
no = "True"
Goto return
EndIf
EndFor
no = "False"
return:
EndSub
Sub WritePrime
' param p
' return n - incleased
TextWindow.Write(Text.GetSubTextToEnd(" ", Text.GetLength(p)) + p)
n = n + 1
EndSub