主题:[讨论]vb急救
haochen
[专家分:0] 发布于 2009-01-04 18:28:00
用函数过程判断某数是否为素数,利用此函数完成:
1、输出3-100之间的素数;
2、验证哥德巴赫猜想(每一个大于2的偶数都可以表示为两个素数的和)即对于一个偶数。输出他的所有
素数和的形式。
要求功能完整,界面尽量人性化。
回复列表 (共4个回复)
沙发
老大徒伤悲 [专家分:29120] 发布于 2009-01-04 18:57:00
恩。说说你做到什么地步了?具体的困难是什么?
板凳
haochen [专家分:0] 发布于 2009-01-04 19:20:00
刚学,还不会,老师就叫交作业
3 楼
一江秋水 [专家分:9680] 发布于 2009-01-05 08:02:00
第一问的解:
Private Sub Command1_Click()
Dim j As Long
For j = 3 To 100
If begPrime(j) Then Debug.Print j
Next
End Sub
Function begPrime(number As Long) As Boolean
If number = 2 Then
begPrime = True
Exit Function
Else
If number / 2 = number \ 2 Then Exit Function
End If
Dim i As Long
For i = 3 To number - 1
If number / i = number \ i Then Exit Function
Next
begPrime = True
End Function
第二问的解等一下再帖。
至于“功能完整,界面尽量人性化”那就是你自己的事了,你不至于一句代码也不会写吧?
4 楼
一江秋水 [专家分:9680] 发布于 2009-01-05 11:01:00
完整的代码如下:
Private Sub Command1_Click()
Dim j As Long
Debug.Print "3-100之间的素数:";
For j = 3 To 100
If begPrime(j) Then Debug.Print j & "、";
Next
Debug.Print
End Sub
Private Sub Command2_Click()
Dim j As Long, k As Long
Debug.Print "2-100之间所有偶数的素数和:"
For j = 2 To 100 Step 2
For k = 1 To j \ 2 Step 2
If begPrime(k) And begPrime(j - k) Then Debug.Print j & "=" & k & "+" & j - k
Next
Next
End Sub
Function begPrime(number As Long) As Boolean
Dim i As Long
For i = 2 To number - 1
If number Mod i = 0 Then Exit Function
Next
begPrime = True
End Function
还是那句话,“功能完整,界面尽量人性化”只能由你自己解决,我只解决核心问题。
我来回复