※ 引述《kayelijah (懶貓)》之銘言:
: 今天我們老師說可以用6行寫出除何驗證並找出1-100的質數...
: 請問這....有可能嗎...
: 我寫了10行多呢...
: 各位大哥..假如真的有這方法可以指教一下嗎...
: 我想破頭了都覺得怪...
我的解法
For i = 2 To 100 Step 1
For j = 2 To i Step 1
If i Mod j = 0 And i <> 2 Then Exit For
If i Mod j <> 0 And j + 1 = i Or i = 2 Then Print i
Next j
Next i
但其實這個解法太暴力,數字一大就掛了,不過反正
可以應付1-100就好了,下面的解法快得多(只是要七行)
For i = 11 To (自填,可以大一點) Step 2
For j = 3 To Sqr(i) Step 2
^^^^^^高一數學有教過
If i Mod j = 0 Then Exit For
If i Mod j <> 0 And j + 2 > Sqr(i) Then Print i
Next j
Next i
因為會漏 2.3.5.7 ,所以在之前還要先print出來,就會再多一行
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.166.216.32
※ 編輯: a40397577 來自: 218.166.216.32 (12/07 23:37)