|
*停權中*
|
這是一個檢查質數的程式,已經查過輸了,但有些地方不甚明瞭,麻煩前輩指點迷津,謝謝!
Private Function abc(ByVal Number As Integer) As Byte
'1 = 是質數
'2 = 不是質數
'3 = 輸入錯誤
Dim a As Integer
(a代表的是什麼???)
/*宣告 a 是一個整數 這個整數 可代表 0~65535*/
Dim b As Integer
(為何要宣告b???程式碼內完全沒有提到b...)
/*宣告 b 是一個整數 這個整數 可代表 0~65535*/
If Number <= 1 Then
abc = 3
(上面這小段程式碼麻煩解說,謝謝)
/* 假如 number 這個數值 小於或等於 1 則將 abc=3
將 3 這個整數 丟給變數 abc 也就是說 設定 abc=3 */
Exit Function
/* 離開 Function 這個 函數 */
End If
/* 這是一種格式 if xxx then
End if */
If Number = 2 Then abc = 1
/* 假如 number 這個數值 等於 2 則將 abc=1
將 3 這個整數 丟給變數 abc 也就是說 設定 abc=1 */
Number = Fix(Number)
(為何要加上"Fix(Number)"???不加上去會有什麼差異???)
/* 將 Number 這個數值 丟進 Fix() 這個函式作運算 運算完並將結果 丟給
Number */
For a = 2 To Number - 1
(2 To Number - 1這一段不懂???)
/* 這是要讓程式 跑回圈的 假如 Number 為 20
Number -1 就是 19
這個程式 會重 2 開始 跑到 19 然後跳開
2 開始執行回圈
3
4
:
:
19
20 跳出回圈
If Number Mod a = 0 Then
(Mod的意義是什麼???)
abc = 2
Exit Function
End If
/* Mod 是 兩數想除取其於數 5 Mod 2 餘數 為 1
則 5 mod 2 就是 1 */
Next a
/* 跑回圈格式
for * to * step *
netx *
*/
abc = 1
End Function
|