精華區beta Visual_Basic 關於我們 聯絡資訊
※ 引述《rosemary (迷迭香)》之銘言: : ※ 引述《kayelijah (懶貓)》之銘言: : : 今天我們老師說可以用6行寫出除何驗證並找出1-100的質數... : : 請問這....有可能嗎... : : 我寫了10行多呢... : : 各位大哥..假如真的有這方法可以指教一下嗎... : : 我想破頭了都覺得怪... : 哎...只能濃縮到七行 : For m As Integer = 2 To 100 : Dim Flag As Boolean = True : For n As Integer = 2 To m : If (m Mod n) = 0 And m <> n Then Flag = False : Next n : If Flag = True Then ListBox1.Items.Add(m) : Next m 因為我對VB不熟,我用pseudo code說明概念 (不確定要幾行,不過六行應該是有機會) ===================================================== "for loop" n=2~100 若 (n mod 2)*(n mod 3)*(n mod 5)*(n mod 7) 不等於 0 則 記錄此數為質數 end of "for loop" ===================================================== 說明: 原理-- 數學課本說 若是 n=p*q, p或q一定有一個比n的開根號要小 作法-- 因為是一百以內,所以拿2, 3, 5, 7來除就好了 如果其中一個除得盡,餘數就會是0,一行就可以寫完四個判斷式 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.19.196 ※ 編輯: kyrox 來自: 140.112.19.196 (11/27 14:22)