16.德國數(shù)學家哥德巴赫曾猜測:任何大于6的偶數(shù)都可以分解成兩個素數(shù)(素數(shù)對)的和。但有些偶數(shù)可以分解成多種素數(shù)對的和,如:10=3+7,10=5+5,即10可以分解成兩種不同的素數(shù)對。
小敏編寫了一個VB程序,用來求一個偶數(shù)(6到100之間)可能存在多少這樣的素數(shù)對(注:A+B與B+A認為是相同素數(shù)對,不重復(fù)統(tǒng)計),并把這些結(jié)果輸出到一個列表框中,通過邏輯推理,小敏發(fā)現(xiàn)這些素數(shù)對都是奇數(shù),所以她只需要驗證奇數(shù)的素數(shù)對即可。運行界面如圖所示,程序代碼如下。但加框處代碼有錯,請改正。
Dim IsPrime(100)As Boolean'用來存儲是否素數(shù),True為素數(shù),F(xiàn)alse為非素數(shù)
Private Sub Command1_Click ( ?。?br />Dim x As Integer,y As Integer,i As Integer,num As Integer
Call Init'調(diào)用Init函數(shù)
x=Val(Text1.Text)
y=x\2
num=0
For i=3To y Step 2
If IsPrime(i) Then'①
num=num+1
List1.AddItem Str(x)+“=“+Str(i)+“+“+Str(x-i)
End If
Next i
Label2.Caption=“偶數(shù)“+Str(x)+“共有“+Str(num)+“個素數(shù)對?!?br />End Sub
Sub Init
'初始化IsPrime數(shù)組的值
Dim i As Integer,j As Integer,x As Integer
For i=3To 100Step 2
x=Int(Sqr(i))
For j=2To x Step 2'②
If i Mod j=0Then Exit For
Next j
If j>x Then IsPrime(i)=True Else IsPrime(i)=False
Next i
End Sub