如何用VBA写判断101-200之间有多少个素数,并输出所有素数的程序

如何用VBA写判断101-200之间有多少个素数,并输出所有素数的程序

题主要的代码如下


Sub getPrime()
  num = 0
  s = ""
  For i = 101 To 199 Step 2
    half = CInt(i / 2)
    isPrime = True
    For k = 2 To half
      If i Mod k = 0 Then
        isPrime = False
        Exit For
      End If
    Next
    If isPrime Then
      num = num + 1
      s = s & vbNewLine & i
    End If
  Next
  MsgBox "101之间200素数个数:" & num & s
End Sub


img

你题目的解答代码如下:

Private Sub Form_Click()
    Dim N As Integer, x As Integer, i As Integer, k As Integer, s As Integer
    N = 0
    s = 0
    For x = 101 To 199 Step 2 '外循环直接排除偶数,只对奇数进行判断
        i = 2: k = Int(x / 2)
        Do While i <= k '内循环判断x是否为素数
            If x Mod i = 0 Then Exit Do '若x被i整除,则x不是素数,结束DO循环
            i = i + 1
        Loop
        If i > k Then '正常退出内循环的x值是素数
            s = s + x
            N = N + 1 '统计素数的个数
            If N Mod 3 = 0 Then Print x Else Print x, '每输出5个数就换行
        End If '注;此处x后面有无逗号,直接影响输出效果!
    Next x
    Print vbCrLf; "素数共" & N & "个" ' vbCrLf表示换行的意思
    Print vbCrLf; "素数和为" & s
End Sub

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632