当前位置>>常用算法>>算法4    
返回首页  
 

 
     
 

算法4 验证哥德巴赫猜想

 
 
算法描述
哥德巴赫猜想:任意一个大于等于6的偶数都可以分解为两个素数之和。
算法分析
 基本思想:n为大于等于6的任一偶数,可分解为n1和n2两个数,分别检查n1和n2是否为素数,如都是,则为一组解。如n1不是素数,就不必再检查n2是否素数。先从n1=3开始,检验n1和n2(n2=N-n1)是否素数。然后使n1+2   再检验n1、n2是否素数,… 直到n1=n/2为止。

代码如下:

Dim  n%,n1%,n2%
n=Val(InputBox("输入大于6的正整数"))
For n1=3 to n\2 step 2
n2=n-n1
If  prime(n1)   Then
If  prime(n2) then 
Print n & "=" & n1 & "+" & n2
Exit For                                '结束循环
End if
End if
Next  n1

Private Function Prime( m as Integer)  As  Boolean
Dim  i%          
Prime=True
For i=2 To int(sqr(m))
If m Mod i = 0 Then   Prime=False:  Exit  For
Next i
End Function