在本站中已经介绍过在C#中求素数的方法,在这里给大家介绍一个在VF中求素数的方法,方便学习VF的同学参考。
什么是素数?
除了1和它本身之外,没有其它任何公约数的自然数为质数,这包括2,如果除了2之外,其它质数都是奇数,则这样的数位素数。
算法原理
我们可以使用循环判断3-100之间的数是否为素数,假设要判断的数为m,则我们可以使用2~m-1之间的所有的自然数去除m,如果某个数将m除尽了,则m就不是素数,如果循环计数变量等于或超过m,则m就是素数。
另外为了提高算法的效率,可以将m进行开平方,则计数循环从2~sqrt(m),如果循环计数超过sqrt(m)则m为素数,否则不是。
源代码如下:
CLEAR
FOR m=3 TO 100 STEP 2
n = INT(SQRT(m))
FOR i = 3 TO n
IF MOD(m,i) = 0
EXIT
ENDIF
ENDFOR
IF i > n
??m
ENDIF
ENDFOR
相关文章:使用C#求100以内的所有素数
新闻热点
疑难解答