'是一个判断是否是素数的函数,函数的输出值是一个逻辑性变量,也就是是true还是false
private function fun1(a as integer )as boolean
'首先假定这个数是素数
fun1=true
'循环检测,这里的sqr(n)是这个数的平方根,这样做的目的是减少循环次数(注意2和to间有空格)
for i=2 to sqr(n)
'判断这个数是否是素数,其中 n/i = int(n/i) 是一个判断条件(这个条件同样可以用 n/i=n\i 其中n\i是整除的意思),n/i是除,int(n/i) 是取整,比如3/2=1.5,int(3/2)=1,如果这个条件成立,那么这个数就不是素数,fun1 = false,已经确定是素数,那么exit for退出循环
if n/i = int(n/i) then fun1 = false :exit for
'其他就不一一解释了。
next i
end function
原理:已知一个数N
让它去除以从2 到它的平方根的数
如果其中有任何一个数能除尽 则它不是素数
否则它就是素数
为什么是它的平方根呢 因为如果在这个范围内没有因数的话
那从平方根到它自己也一定没有因数
n/i = int(n/i) 检测是不是整数
你想 1.1肯定不等于1 ,1.0就等于1
为什么逻辑变量
这里覆一个TRUE给这个函数 意思是默认N为素数
if n/i = int(n/i) then fun1 = false 没因数的话就是素数返回FALSE
素数就是质数,它和合数是对立的。
也就是约数是只有1和本身。