VBでC/C++に負けないくらいの速いアプリを作ろう
■ このスレッドは過去ログ倉庫に格納されています
0096デフォルトの名無しさん
NGNGPublic Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Main()
Const MAX_PRIMES As Long = 20000
Dim MaxN As Long
Dim Primes(0 To MAX_PRIMES) As Long:Dim ETbl() As Boolean
Dim I As Long, J As Long:Dim PrimeCnt As Long:Dim TimeCnt As Long
Primes(0) = 2:Sleep 1500:TimeCnt = timeGetTime
MaxN = Round(10 * MAX_PRIMES * Log(MAX_PRIMES))
ReDim ETbl(0 To MaxN)
For I = 2 To Round(Sqr(MaxN))
For J = 2 To (MaxN \ I)
ETbl(I * J) = True
Next J
Next I
For I = 2 To MaxN - 1 Step 1
If Not ETbl(I) Then
Primes(PrimeCnt) = I
PrimeCnt = PrimeCnt + 1
If PrimeCnt > MAX_PRIMES Then Exit For
End If
Next I
TimeCnt = timeGetTime() - TimeCnt
MsgBox TimeCnt
End Sub
■ このスレッドは過去ログ倉庫に格納されています