
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吗? 展开
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吗? 展开
2个回答
展开全部
我来解释一下:
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里,你最好改一下
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里,你最好改一下
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询