Visual Basic中的素数筛选

来源:互联网 发布:哪些犯罪知乎 编辑:程序博客网 时间:2024/05/07 08:20
~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~

Examination Problem

      质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。

      判断101-200之间有多少个素数,并输出所有素数。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Analysis

      程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。  

      在一般领域,对正整数n,如果用2到根号n之间的所有整数去除,均无法整除,则n为质数。

      质数大于等于2不能被它本身和1以外的数整除    

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Program

Private Function IfPrime(ByVal x As Long) As Boolean    Dim i As Long    If x < 0 Then x = -x    If x = 2 Then Return True    If x = 1 Then Return True    If x = 3 Then Return False    If x = 0 Then         MsgBox("error",,)        Return False    End If    For i = 2 To Int(Sqrt(x)) Step 1        If x Mod i = 0 Then Return False    Next i    Return TrueEnd Function


0 0
原创粉丝点击