资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net判断判断素数 vba判断素数

质数判断函数vb.net

Sub IsPrimenum(byval a As Integer)

成都地区优秀IDC服务器托管提供商(成都创新互联公司).为客户提供专业的成都服务器托管,四川各地服务器托管,成都服务器托管、多线服务器托管.托管咨询专线: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 '内循环是除了1和它本身的

If i Mod j = 0 Then '判断是否能被除了1和自身以为的 比自身小的数整除

PD = False '如果能被整除,将PD 设置为False

Exit For '退出里层For 循环

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循环,既然已经退出了,就不会执行后面的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环境):

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://cdkjz.cn/article/dohpioo.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220