看到这个标题,我们首先要想到几个问题来仔细分析
1.随机数如何生成
2.质数是为何物
下面我们就来一一解决刚刚想到的问题
1.随机数
我们假设想生成1000以内的21个随机数
- Dim i As Integer, x As Integer
- Randomize()
- For x = 0 To 20
- i = CInt(Int((1000 * Rnd()) + 1))
- ' 产生1到N的一个任意值()
- Label1.Text = Label1.Text + CStr(i) + vbCrLf
- Next
-
这样我们就生成了我们想要的随机数。
2.质数
质数只能被1和它本身整除
给大家奉上一个求质数的函数:
- Function IsPrimeNumber(ByVal pNumber As Integer) As Boolean
- For iFactor = 2 To Int(Math.Sqrt(pNumber))
- If pNumber Mod iFactor = 0 Then
- Return False
- End If
- Next
- Return True
- End Function
虽然简单,很实用哦。但是要注意1不是质数
下面是我所有的代码,请大家批评指正!
-
Public Class Form1
- Dim iFactor As Integer
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Dim i As Integer, x As Integer, y As Integer = 0, z As Integer = 0 'x是循环用,y和z是用作计数用的
- Dim arr(20) As Integer
- Randomize()
- For x = 0 To 20
- i = CInt(Int((100 * Rnd()) + 1))
- y = y + 1
- ' 产生1到N的一个任意值()
- Label1.Text = Label1.Text + CStr(i) + vbCrLf
- If IsPrimeNumber(i) = True Then
- z = z + 1
- Label2.Text = Label2.Text + CStr(i) + vbCrLf
- End If
- Next
- Label3.Text = y & "," & z
- End Sub
- Function IsPrimeNumber(ByVal pNumber As Integer) As Boolean
- For iFactor = 2 To Int(Math.Sqrt (pNumber))
- If pNumber Mod iFactor = 0 Then
- Return False
- End If
- Next
- Return True
- End Function
-
End Class
-
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)