寫一個\"要找出小於某一正整數(含)以下的所有質數\"的VB程式....
我已經有設定物件的屬性定義如下
Me.Caption = \"尋找質數(Primt Number)\"
Label1.FontSize = 17
Label2.FontSize = 17
Text1.FontSize = 16
Text2.FontSize = 16
Label1.FontName = \"標楷體\"
Label2.FontName = \"標楷體\"
Label1.ForeColor = vbBlue
Label2.ForeColor = RGB(255, 0, 255)
Label1.Caption = \"請輸入一個大於1的正整數:\"
Label2.Caption = \"\"
Text2.ForeColor = RGB(100, 130, 100)
Text1.ForeColor = RGB(180, 100, 100)
Text1.Text = \"\"
Text1.Locked = True
Text2.Text = \"\"
Command1.FontSize = 18
Command1.FontName = \"標楷體\"
Command1.Caption = \"啟動\"
Command2.FontSize = 18
Command2.FontName = \"標楷體\"
Command2.Caption = \"重設\"
Command3.FontSize = 18
Command3.FontName = \"標楷體\"
Command3.Caption = \"結束\"
其他的我就不知道該怎嚜寫ㄌ!!
可以告訴我嗎??
2006-03-17 06:36:34 · 2 個解答 · 發問者 大頭 3 in 電腦與網際網路 ➔ 程式設計
我用Debug偵錯...這一行-->Text1.Text = Val(Text1.Text) + 1執行不出來耶!
說是"需要物件"??????
2006-03-17 07:03:53 · update #1
想請問一下W.J.S,您給的程式可以執行...
但是輸出的格是假如想要使用者可以由Text2輸入一正整數,並且按下Command1之後可以在Text1內輸出所有小於此一正整數(含)以下的所有質數。Command1: 待Text2輸入數字後,按下此鍵可以開始執行質數搜尋,並將所有找到的質數結果以10個為一列並對齊後(使用vbTab)列印在Text1內。
Command2: 重設並清除
Command3: 結束此程式。
Text2是要讓使用者輸入數字。
Text1: 為一啟動MultiLin
分別是這樣...該怎嚜設訂??
2006-03-19 17:54:35 · update #2
可是為什麼程式執行不出來呢?
只有跑一ㄍ空白表單..好怪喔....
2006-03-22 14:11:59 · update #3
'...說是"需要物件",你表單上有放1個Name=Text1的TextBox嗎?沒有的話當然會出錯.'尋找質數Private Sub Command1_Click()Dim I&, N&, T&, S As StringDo S = InputBox("請輸入大於1的正整數") If S = "" Then Exit SubLoop Until IsNumeric(S) And Int(Val(S)) > 1N = Int(S)For I = 2 To N If IsPrime(I) Then Print I : T = T + 1NextPrint "共有"; T ; "個質數 "End SubFunction IsPrime(N As Long) As Boolean '判斷質數副函數Dim I As LongIf N = 2 Then IsPrime = True: Exit FunctionIf N Mod 2 = 0 Then Exit Function'從2跑到N的正平方根For I = 2 To Int(Sqr(N)) '餘數為0就表示不是質數..跳離迴圈 If N Mod I = 0 Then Exit FunctionNext IIsPrime = TrueEnd Function
2006-03-20 16:34:17 補充:
Private Sub Command1_Click()Dim I&, T&, S$For I = 2 To Val(Text2) If IsPrime(I) Then S = S & I & vbTab T = T + 1 If T > 9 Then S = Left(S, Len(S) - 1) & vbCrLf: T = 0 End IfNextText1 = Left(S, Len(S) - 1)End Sub
2006-03-20 16:35:48 補充:
Private Sub Command2_Click()Text1 = "": Text2 = ""End SubPrivate Sub Command3_Click()EndEnd Sub
2006-03-22 19:37:56 補充:
你有把各元件放在表單上嗎?CommandButton,TextBox....=.=|||
2006-03-16 17:57:30 · answer #1 · answered by W.J.S. 7 · 0⤊ 0⤋
Text1.Text = Val(Text1.Text) + 1
Text1.Tag = ""
For i = 2 To Val(Text1.Text) - 1
If Val(Text1.Text) Mod i = 0 Then
Text1.Tag = "No"
Exit For
Else
Text1.Tag = "Yes"
End If
Next
2006-03-17 11:52:05 補充:
If Text1.Tag = "Yes" Then
List1.AddItem Str(Text1.Text), List1.ListCount
List1.ListIndex = List1.ListCount - 1
End If
以上是我兩個月前寫的自動搜尋質數程式~你參考一下~不懂再問吧~
2006-03-17 06:51:35 · answer #2 · answered by 森淼 6 · 0⤊ 0⤋