瀏覽單個文章
stariloveyou
*停權中*
 
stariloveyou的大頭照
 

加入日期: Nov 2002
文章: 400
這是一個檢查質數的程式,已經查過輸了,但有些地方不甚明瞭,麻煩前輩指點迷津,謝謝!

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
舊 2002-12-02, 06:53 PM #3
回應時引用此文章
stariloveyou離線中