作业帮 > 综合 > 作业

验证任意一个大于等于7的奇数可表示为三个素数的和

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/23 01:19:05
验证任意一个大于等于7的奇数可表示为三个素数的和
RT
最好是用function
验证任意一个大于等于7的奇数可表示为三个素数的和
'验证任何一个大于7的奇数都能表示成3个素数的和
Function CombinePrime(Num)
Dim a As Long,b As Long,c As Long
If Num < 7 Then
MsgBox "参数小于7,无法计算"
Exit Function
End If
a = 1
Do While a = 2
b = b + 1
c = Num - a - b
If IsPrimeNum(a) And IsPrimeNum(b) And IsPrimeNum(c) Then
MsgBox Str(Num) & "由素数" & Str(a) & Str(b) & Str(c) & "组成"
Exit Function '只先显示其中一种组合,若要显示全部素数组合,则去掉这一句
End If
Loop
Loop
End Function
'判断是否为素数的函数(被上面的函数调用)
Function IsPrimeNum(Num) As Boolean
Dim i As Long,j As Long
j = Int(Sqr(Num))
If Num >= 2 Then IsPrimeNum = True
For i = 2 To j
If Num Mod i = 0 Then
IsPrimeNum = False
Exit For
End If
Next
End Function
下面是例子:
Private Sub Command1_Click()
Dim a As Integer
a = 19
Call CombinePrime(a)
End Su