德國(guó)數(shù)學(xué)家哥德巴赫曾猜測(cè):任何大于6的偶數(shù)都可以分解成兩個(gè)素?cái)?shù)(素?cái)?shù)對(duì))的和。但有些偶數(shù)可以分解成多種素?cái)?shù)對(duì)的和,如:10=3+7,10=5+5,即10可以分解成兩種不同的素?cái)?shù)對(duì)。
小敏編寫了一個(gè)VB程序,用來求一個(gè)偶數(shù)(6到100之間)可能存在多少這樣的素?cái)?shù)對(duì)(注:A+B與B+A認(rèn)為是相同素?cái)?shù)對(duì),不重復(fù)統(tǒng)計(jì)),并把這些結(jié)果輸出到一個(gè)列表框中,通過邏輯推理,小敏發(fā)現(xiàn)這些素?cái)?shù)對(duì)都是奇數(shù),所以她只需要驗(yàn)證奇數(shù)的素?cái)?shù)對(duì)即可。運(yùn)行界面如圖所示,程序代碼如下。但加框處代碼有錯(cuò),請(qǐng)改正。
Dim IsPrime(100)As Boolean'用來存儲(chǔ)是否素?cái)?shù),True為素?cái)?shù),F(xiàn)alse為非素?cái)?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)+“個(gè)素?cái)?shù)對(duì)?!?br />End Sub
Sub Init
( ?。?/div>
( ?。?/div>'初始化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
【答案】( ?。?/div>
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:2引用:1難度:0.5
相似題
-
發(fā)布:2024/7/25 8:0:9組卷:2引用:1難度:0.3
-
發(fā)布:2024/9/9 2:0:8組卷:0引用:1難度:0.3
-
發(fā)布:2024/7/25 8:0:9組卷:1引用:1難度:0.5
把好題分享給你的好友吧~~