新网球王子漫画227:请用VB编程

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/07 16:58:37
求3-100内素数个数和总和

楼上的效率不大好,也有一定的局限性。

Private Sub Form_Load()
For i = 3 To 100 Step 2 '大于2的偶数一定不是素数
If pri(i) = True Then
c = c + 1
Sum = Sum + i
End If
Next
Print "count is"; c, "sum is"; Sum
End Sub

Function pri(n) '判断是否是素数的函数
pri = True
For i = 2 To Int(Sqr(n)) '任何数无法被自己的开方数大的数整除
If n Mod i = 0 Then
pri = False
Exit For
End If
Next
End Function

private function GetSu() as integer
Dim i As Integer, j As Integer, k As Integer
Dim L As Integer, b As Boolean
L = 0
For i = 3 To 100 step 2
b = True
For j = 2 To i - 1
For k = 2 To i - 1
If k * j = i Then
b = False '有数据相乘就不是素数
exit for
end if
Next
if not b then exit for
Next
If b Then L = L + 1 '如果没有数相乘就加一

Next
GetSu=L '得出结果
end function

'这是一个函数
'引用:
'msgbox GetSu
'或
'm=getsu

梦想种子写得不错确实比我的要优!