五笔打字通主页
VB程序题:验证哥德巴赫猜想:任意一个大于2的偶数都可以表示成两个素数之和。编程将6~100之间的全部偶数表示为两个素数之和,在列表框显示结果,最后Label1显示有多少对素数之和,效果如图F.3所示。
F.3图:
提示:
(1) 编一求素数的函数prime(m),若m是素数,则函数的返回值为True,否则为False。
(2) 主调程序对已知6~100之间的全部偶数Even,把它分解成两个奇数Odd1和Odd2(Even-Odd1),先调用prime函数,判断Odd1是否是素数,若不是素数,则不必再对Odd2进行判断;否则再判断Odd2,若都是素数,则添加到列表框。利用两重循环来实现,外循环变量Even(6~100的偶数),内循环将Odd1(3~Even/2之间的奇数)和Odd2(Even-Odd1)进行判断。
解题,画一个按钮,一个标签,一个列表控件,代码如下:
Private Sub Command1_Click()
Dim i As Integer
i = 0
For even = 6 To 100 Step 2
For odd1 = 3 To even / 2 Step 2
If prime(odd1) = True Then
odd2 = even - odd1
If prime(odd2) Then
List1.AddItem even & "=" & odd1 & "+" & odd2
i = i + 1
End If
End If
Next odd1
Next even
Label1.Caption = "6~100之间有" & i & "对素数和"
End Sub
Private Function prime(ByVal m As Integer) As Boolean
prime = True
For i = 2 To Sqr(m)
If m Mod i = 0 Then
prime = False
Exit Function
End If
Next i
End Function
Visual Basic程序设计教程(第3版) (龚沛曾等编)课后实验源码
来源:济亨网
本文链接:http://wb86.com/post/93.html