用VB做出哥德巴赫猜想

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:34:54
验证哥德巴赫猜想:“任何一个大于6的偶数,均可以表示为两个素数之和”,从键盘输入一个大于6的偶数后,打印出所有的分解结果。

'窗体上添加Command1控件
Private Sub Command1_Click()
Dim a%, tmpInt1%, tmpInt2%
k: a = InputBox("输入一个大于6的偶数", "输入")
If a <= 6 Or a Mod 2 <> 0 Then
MsgBox "数据输入不合法!重新输入。"
GoTo k:
End If
For tmpInt1 = 2 To a / 2
tmpInt2 = a - tmpInt1
If IsPrime(tmpInt1) = True And IsPrime(tmpInt2) = True Then
Print tmpInt1 & "+"; tmpInt2 & "=" & a '输出组合
End If
Next tmpInt1
End Sub

Function IsPrime(TmpNum As Integer) As Boolean '判断是否是素数,是返回TRUE,否返回FALSE
Dim j%
If IsNumeric(TmpNum) = False Or TmpNum < 2 Then
IsPrime = False
Exit Function
Else
For j = 2 To Sqr(TmpNum)
If TmpNum Mod j = 0 Then
IsPrime = False
Exit Function
End If
Next j
IsPrime = True
End If
End Function

Private Sub Command1_Click()
Dim str1 As String, lng1 As Long, I As Long, k As Integer
redo:
str1 = I