vb问题:判断素数

来源:百度知道 编辑:UC知道 时间:2024/06/21 19:37:47
这是一个求素数的程序
dim n as integer,i as integer
n=val(inputbox(“输入正整数n”))
if n=1 then
print n;“不是素数”
else
for i=2 to sqr(n)
if n mod i= 0 then exit for
next i
if i>sqr(n) then
print n;"是素数”
else
print n;“不是素数”
end if
end if
这行代码中当n mod i<>0时它是怎么处理从而判断是否是素数的?

n除以i 余数不为0

n mod i<>0,继续判断下一个数,如果都不满足条件退出循环时i的值为sqr(n)+1,得出不是素数
n mod i=0退出循环,此时i的值显然小于sqr(n),得出素数

mod就是取余数。。n mod i<>0 就是n除以i的余数不等于0,也就是说n能不被i整除。。根据素数只能被1和其本身整除。。n mod i<>0则需要继续判断。。如果n mod i=0 (i<>1 且i<>n)那么该数非素数。。则跳出循环。。判断另外一个数