vb.net判斷判斷素數 vba判斷素數

質數判斷函數vb.net

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

顯示100以內所有素數 VB.net語言

‘這個是可以選擇范圍的查找

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

vb 判斷一個數是否為素數,若不是求出大于它的最小素數

主要是以下語句有問題:

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)

外貿網站制作