回 帖 发 新 帖 刷新版面

主题:[讨论]vb急救

用函数过程判断某数是否为素数,利用此函数完成:
1、输出3-100之间的素数;
2、验证哥德巴赫猜想(每一个大于2的偶数都可以表示为两个素数的和)即对于一个偶数。输出他的所有

素数和的形式。
要求功能完整,界面尽量人性化。

回复列表 (共4个回复)

沙发

恩。说说你做到什么地步了?具体的困难是什么?

板凳

刚学,还不会,老师就叫交作业

3 楼

第一问的解:

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 楼

完整的代码如下:

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

还是那句话,“功能完整,界面尽量人性化”只能由你自己解决,我只解决核心问题。

我来回复

您尚未登录,请登录后再回复。点此登录或注册