Sub?IsPrimenum(byval?a?As?Integer)
成都地區(qū)優(yōu)秀IDC服務器托管提供商(成都創(chuàng)新互聯(lián)公司).為客戶提供專業(yè)的成都服務器托管,四川各地服務器托管,成都服務器托管、多線服務器托管.托管咨詢專線:18982081108
Dim?b?As?Integer
For?b?=?2?To?(a?-?1)
If?a?Mod?b?=?0?Then
MsgBox(?"這不是質數")
Else
MsgBox(?"這是質數")
End?If
Next
End?Sub
‘這個是可以選擇范圍的查找
Public?Class?Form1
'一個大于1的自然數,除了1和它本身外,不能被整除以其他自然數(質數),換句話說就是該數除了1和它本身以外不再有其他的因數
'?章魚哥?3107073263
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Dim?PD?As?Boolean?=?True
TextBox1.Clear()?'首先清空文本框,這里面將放置符合條件的素數
If?NumericUpDown1.Value??NumericUpDown2.Value?Then?'從小到大
For?i?=?NumericUpDown1.Value?To?NumericUpDown2.Value?'循壞判斷所有數
For?j?=?2?To?i?-?1?'內循環(huán)是除了1和它本身的
If?i?Mod?j?=?0?Then?'判斷是否能被除了1和自身以為的?比自身小的數整除
PD?=?False?'如果能被整除,將PD?設置為False
Exit?For?'退出里層For?循環(huán)
Else
PD?=?True
End?If
Next
If?PD?Then?'如果PD為True?,則為素數
TextBox1.Text?=?i??"??"
End?If
Next
End?If
End?Sub
End?Class
主要是以下語句有問題:
Exit Do: Text2 = Str(a) "是素數"
Exit Do是退出Do-While循環(huán),既然已經退出了,就不會執(zhí)行后面的Text2 = Str(a) "是素數"了。
Do While 1
a = a + 1
For n = 2 To Sqr(a)
If a Mod n = 0 Then Exit For
Next n
If n Sqr(a) Then
Exit Do:
End If
Loop
Text2 = Str(a) "是素數"
這是我的參考代碼(用VB.NET編寫,改為VB,可能有小錯誤,我這兒沒有VB 6環(huán)境):
Private Sub Command1_Click()
Dim a As Integer
a = Val(TextBox1)
If IsPrimeNumber(a) = True Then
TextBox2 = Str(a) "是素數"
Return
End If
Do While 1
a = a + 1
If IsPrimeNumber(a) = True Then
Exit Do
End If
Loop
TextBox2 = Str(a) "是素數"
End Sub
'判斷一個整數是否是素數,若是素數返回true,否則返回false
Private Function IsPrimeNumber(ByVal num As Integer) As Boolean
Dim i, k As Integer
k = Sqr(num)
For i = 2 To k
If num Mod i = 0 Then
Exit For
End If
Next
If i k Then
Return True '是"素數"
End If
Return False '是"非素數"
End Function
網站名稱:vb.net判斷判斷素數 vba判斷素數
標題路徑:http://bm7419.com/article0/dohpioo.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供商城網站、響應式網站、關鍵詞優(yōu)化、微信小程序、網站改版、云服務器
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)