Re: [VB6 ] 找出範圍內的質數,想請各位幫忙縮短...

看板Visual_Basic作者 (陽貨欲見孔子)時間16年前 (2009/10/02 14:06), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《costbook (沒$結婚幹嘛,有$幹嘛結婚)》之銘言: : '找出範圍內所有整數質數 : 'VB .NET : Dim nonprimes(0) As Boolean : Sub getAllPrime(ByVal top As Integer) : ReDim nonprimes(top) : Dim value As New MyInt(Of Integer) : nonprimes(0) = True : nonprimes(1) = True : Dim i As Integer = 2 : '用篩法標記prime和nonprime : While i <= top / i : '這邊用myInt class,速度會比用isPrime() function慢 : value.setting(i) : If value.isPrime() Then : For j As Integer = 2 To top / i : If j * i <= top Then : nonprimes(j * i) = True : End If 這段有點不明白 既然 i <= top / i 又 j = 2 ~ top / i 那 i*j 一定會 <= top 才對 那就不用判斷 If j * i <= top 了 直接下 nonprimes(j * i) = True 不就好了? : Next : End If : i += 1 : End While : End Sub -- 迷時師渡 悟時自渡 ~ 六祖惠能 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.241.123.132

10/02 15:38, , 1F
這是我一年級寫的作業,我也忘記為什麼了
10/02 15:38, 1F
文章代碼(AID): #1AnPX9WF (Visual_Basic)
討論串 (同標題文章)
文章代碼(AID): #1AnPX9WF (Visual_Basic)