Vb中求素数问题

题目:输入一个大于等于三的正整数并判断是否为素数.Privatesubform_click()DimiasInteger,xasIntegerx=inputbox("请输... 题目:输入一个大于等于三的正整数并判断是否为素数.
Private sub form_click()
Dim i as Integer,x as Integer
x=inputbox("请输入一个正整数(>=3):","判断素数")
For i=2 To x-1
If x mod i =0 then exit for
Next i
If i>x-1 then
Msgbox x & "是素数!", ,"判断结果"
Else
Msgbox x & "不是素数!", ,"判断结果"
End if
End sub
我的问题就是代码中判断是素数的条件为什么是i>x-1,For语句中i的最大值不就是x-1吗?
展开
 我来答
cyq4782
推荐于2017-11-23 · TA获得超过796个赞
知道小有建树答主
回答量:286
采纳率:0%
帮助的人:294万
展开全部
我来解释一下:
Dim i as Integer,x as Integer '变量声明
x=inputbox("请输入一个正整数(>=3):","判断素数") '取得要判断的数
For i=2 To x-1 ’这句循环的意思:从2到(x-1)这个范围中,有没有可以整除x的
If x mod i =0 then exit for ’若从2到(x-1)这个范围中,有可以整除x的,跳出循环,此时i就是x的一个约数
Next i
If i>=x-1 then ’这句话有问题,我改了一下,意思是:若一直到(x-1)还没有出现可以整除x的数,则它是素数
Msgbox x & "是素数!", ,"判断结果"
Else
Msgbox x & "不是素数!", ,"判断结果"
End if
也就是说,你的代码有误,正确的代码以及解释我写在上面了,我写的单引号视中文的,不能加到vb里,你最好改一下
百度网友9895283
推荐于2018-01-30
知道答主
回答量:1
采纳率:0%
帮助的人:1007
展开全部
那句话的意思是 如果循环变量i超越终值x-1的时候 就说明这个数是一个素数
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式