在vb中利用随机函数产生100个10~99之间的随机整数,找出其中的素数,并将这些素数求和。
1.将随机产生的100个整数存入数组,按每行10个数输出到窗体或文本框中。2.用Sub子过程或Function函数过程判断随机整数是否为素数。3.将素数按每行10个数在窗...
1. 将随机产生的100个整数存入数组,按每行10个数输出到窗体或文本框中。
2. 用Sub子过程或Function函数过程判断随机整数是否为素数。
3. 将素数按每行10个数在窗体或文本框中输出。
4. 将素数的个数以及求和结果出到窗体或文本框中。 展开
2. 用Sub子过程或Function函数过程判断随机整数是否为素数。
3. 将素数按每行10个数在窗体或文本框中输出。
4. 将素数的个数以及求和结果出到窗体或文本框中。 展开
2个回答
展开全部
正好写过这个哦,也给你好啦
以下代码不需要任何控件
Private Sub Form_Activate()
Dim a(1 To 100) As Integer, prime(1 To 100) As Integer, np As Integer, sp As Integer
'a数组存放100个随机整数,prime数组存放素数,np存放素数个数,sp存放素数总和
Randomize
np = 0
sp = 0
Print "100个随机整数为"
For i = 1 To 100
a(i) = 10 + Int(90 * Rnd)
Print a(i);
If i Mod 10 = 0 Then Print
If isprime(a(i)) Then
np = np + 1
prime(np) = a(i)
sp = sp + a(i)
End If
Next
Print
Print "包含的素数依次为"
For i = 1 To np
Print prime(i);
If i Mod 10 = 0 Then Print
Next
Print
Print "素数个数为"; np; ",素数总和为"; sp
End Sub
Function isprime(ByVal Num As Integer) As Boolean '判断是否为素数的函数
If Num < 2 Then isprime = False: Exit Function
Dim i As Integer
For i = 2 To Sqr(Num)
If (Num Mod i) = 0 Then
isprime = False
Exit Function
End If
Next i
isprime = True
End Function
以下代码不需要任何控件
Private Sub Form_Activate()
Dim a(1 To 100) As Integer, prime(1 To 100) As Integer, np As Integer, sp As Integer
'a数组存放100个随机整数,prime数组存放素数,np存放素数个数,sp存放素数总和
Randomize
np = 0
sp = 0
Print "100个随机整数为"
For i = 1 To 100
a(i) = 10 + Int(90 * Rnd)
Print a(i);
If i Mod 10 = 0 Then Print
If isprime(a(i)) Then
np = np + 1
prime(np) = a(i)
sp = sp + a(i)
End If
Next
Print "包含的素数依次为"
For i = 1 To np
Print prime(i);
If i Mod 10 = 0 Then Print
Next
Print "素数个数为"; np; ",素数总和为"; sp
End Sub
Function isprime(ByVal Num As Integer) As Boolean '判断是否为素数的函数
If Num < 2 Then isprime = False: Exit Function
Dim i As Integer
For i = 2 To Sqr(Num)
If (Num Mod i) = 0 Then
isprime = False
Exit Function
End If
Next i
isprime = True
End Function
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请问,10到99之间有那么多个质数吗,总共才90个数据的呀!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询