作者Changsunche (長孫轍)
看板Visual_Basic
標題[VB6 ] 找出範圍內的質數,想請各位幫忙縮短...
時間Wed Sep 30 21:12:15 2009
首先,這題目一開始是要求我去使用陣列、函數,來去寫成.....
但是問題在於函數上的使用我不太會,
一開始編輯Function一直出錯,所以最後還是寫成一般方式.....
超級長...又凌亂,當初有問題的時候超想直接上來發問.....
但是最後還是決定先寫成之後,在來發問好了...
結論...寫成了!但好長..
Private Sub Command1_Click()
ReDim a(0)
x = 0
a(0) = 2
t1 = Val(Text1.Text)
For N = 3 To t1
If N = t1 Then
For i = LBound(a) To UBound(a)
If N Mod a(i) = 0 Then
GoTo L3
End If
Next
x = x + 1
ReDim Preserve a(x)
a(x) = N
GoTo L3
End If
For i = LBound(a) To UBound(a)
If N Mod a(i) = 0 Then
GoTo L1
End If
Next
GoTo L2
L1:
Next
L2:
x = x + 1
ReDim Preserve a(x)
a(x) = N
GoTo L1
L3:
For m = LBound(a) To UBound(a)
t2 = t2 & " " & a(m)
Next
MsgBox (t2)
End Sub
......有夠長...超級長...但是卻完成了= ="
一開始有嘗試使用自訂函數來設計,
但是我發現我在上面所使用到的X=X+1
設計是為了使陣列越來越大,
但如果使用函數的時候卻失敗了...
竟然用到,老師說的:「不重要的GoTo」
而且超級長,想要請各位幫忙寫成函數,
想要了解寫成函數的樣子,當作學習的範本= ="
是在VB6下操作,可以的話,如果有使用到特別函數,
幫忙說明一下......學的函數不多,純為新手而已...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.228.109.38
→ MOONRAKER:goto L3可改為函數,其他兩處可用exit for改寫 10/01 09:47
推 mraaa:也可試試看遞迴函數吧~~ 10/01 11:00
→ Changsunche:謝謝兩位的回應,會繼續磨練的^w^ 10/01 18:02