如何用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
你题目的解答代码如下:
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
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!