当前位置:首页 » VB程序题 » 正文

VB程序题:验证哥德巴赫猜想:任意一个大于2的偶数都可以表示成两个素数之和。编程将6~100之间的全部偶数表示为两个素数之和,在列表框显示结果,最后Label1显示有多少对素数之和,效果如图F.3所示

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://www.wb86.com/post/93.html

    << 上一篇 下一篇 >>

    湘公网安备 43011102000514号 - 湘ICP备08100508号