VB程序设计:判断一个数是否为质数(素数)。

 我来答
foxer2011
2013-01-03 · TA获得超过214个赞
知道答主
回答量:197
采纳率:50%
帮助的人:179万
展开全部
原则上是要判断是否能被一个不是1和本身的数整除。
简单的方法是从2到本身-1的数做为除数进行循环不,逐一判断能否整除,出现整除情况即断定非质数。但这种方法的计算量较大,因为有些数是明显不用的,如大于本身2分之一的,处于3分之一到2分之一之间的,等等。
优化的方法是:
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim num As Integer
Dim i As Integer = 2
If IsNumeric(TextBox1.Text) Then
num = CInt(TextBox1.Text)
Dim j As Integer = num
If num > 2 Then
While i < j
Dim k As Integer = num / i
Dim a As Double = CDbl(num) / CDbl(i)
If System.Math.Abs(a - k) < 1.0E-20 Then
Label1.Text = num.ToString + "不是质数"
Exit While
Else
j = CInt(a) + 1
i += 1
End If
End While
If i >= j Then
Label1.Text = num.ToString + "是质数"
End If
ElseIf num = 2 Then
Label1.Text = num.ToString + "是质数"
End If
Else
Label1.Text = "输入数据有误"
End If

End Sub
chinaboyzyq
推荐于2018-02-27 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3269万
展开全部
Private Sub Command1_Click()
Dim x, i, f As Boolean
x = InputBox("请输入一个数", , 51)
For i = 2 To Sqr(x)
If x Mod i = 0 Then
f = True
Exit For
End If
Next
If Not f Then
MsgBox "是素数"
Else
MsgBox "非素数"
End If

End Sub
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tzc04120
2013-01-07 · TA获得超过2657个赞
知道大有可为答主
回答量:1.1万
采纳率:15%
帮助的人:3344万
展开全部
子Command1_Click()
点心T为龙,TT一样长,TTT,只要,S作为字符串

S =输入框(“请输入一个判断素数”,“”) T = VAL(S)
TT = 2
TTT = INT(SQR(T))
如果PSS(T,TT,TTT),然后
MSGBOX“输入号码“CSTR(T)”是一个素数“,”
其他
MSGBOX“输入号码”和CSTR(T)&“不是素数”,“
结束如果
END SUB

专用功能PSS(为ByRef一个一样长,为ByRef B为长,作为长期的ByRef)作为布尔
如果B <= C,然后
A MOD B = 0,然后
PSS = FALSE
其他
PSS PSS(A,B +,C)
结束如果
其他
PSS =真端的功能

如果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式