Option Explicit
Option Base 1
Sub Document_Open()
Dim a, d, c, i As Variant '有更好的資料型態嗎...我之前打integer 只能打到32766
超過就溢位
a = Val(inputbox("請輸入大於1的正整數", "質數檢驗器")) '輸入的a作為測試的數字
d = 0 '當作是一個輔助數吧....
For i = 1 To a
c = a Mod i '將a除以1到a c為其餘數
If c = 0 Then '若是c=0則為整除,此時i為a的因數
d = d + 1 '那麼d就由0+1
End If
Next i
If d = 2 Then '若是d=2表示有2個因數必為1和本身a
MsgBox a & "是個質數"
MsgBox "因數只存在1和" & a & "本身"
Else
MsgBox a & "非質數,為合數" '若不是則代表有更多的因數
MsgBox "共含有" & " " & d & " " & "個因數" 'd則代表有幾個因數
MsgBox 這裡我想補一行...表示出所有因數
也就是a mod i 為 0 地時候 i的值
可是不知道該如何寫出來....
這次就再次拜託各位好心的大大
End If
End Sub
上一篇想法我放棄了.....想到質數必定只有2個因數
所以我換這一個
目前用我所會的想出這個樣子.....若是有錯誤還是有漏洞...煩請提示...
謝謝各位~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.71.2.194