看板 Visual_Basic 關於我們 聯絡資訊
Function f(p As Integer) Dim i, n, t As Integer t = 1 '1代表質數 n = Sqr(p) 'Sqr 為開根號 For i = 2 To n If (p Mod i) = 0 Then t = 0 '0帶表合數 Exit For End If Next f = t End Function '------------------------------------------------------------ Private Sub Command1_Click() Dim x, n As Integer x = 0 '此為陣列的大小,一開始就需要有最小值 ReDim a(x) t1 = Val(Text1.Text) If t1 < 2 Then '必要的判斷,不然可能會發生程式上的錯誤 MsgBox ("輸入數字需要≧2") Exit Sub End If For n = 2 To t1 If f(n) = 1 Then '如果自訂函數出來的時候,F=1,此為質數 a(x) = n x = x + 1 '讓陣列變大 ReDim Preserve a(x) End If Next For n = LBound(a) To UBound(a) ans = ans & " " & a(n) Next MsgBox (ans) End Sub ************************************************************** 這是,模仿、參考,老師指導之後的型態= =" 不過有個問題就是,範圍不能無限大[-w-] 不知道最大範圍是多少,所以也沒設定下去了, 頂多設定範圍不能小於2。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.228.230.86
MOONRAKER:無限大就是VB的整數上限阿 一般而言是 2147483647 10/02 20:13
MOONRAKER:除非另外宣告 10/02 20:13
Changsunche:了解了^W^ 10/02 20:20
fumizuki:VB6的整數上限是32767,長整數才是2147483647 10/04 15:09
fumizuki:.NET整數2147483647,長整數2的63次方減1 10/04 15:12