const NUM int = 100
创新互联建站服务项目包括镇雄网站建设、镇雄网站制作、镇雄网页制作以及镇雄网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,镇雄网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到镇雄省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
for i := 0; i NUM; i += 1 {
梁辩rand.Seed(int64(i))
fmt.Printf("%d\t", rand.Int63n(int64(NUM)))
}
其实在循环橡闭缺里面这点时间间隔,纳秒也是跟不上的。
还有,你用sleep的方法肯定是不能接受的!!态档!
纯粹使用EXCEL公式,是不可能的,用VBA编个自动生成程序倒还可以。如果不想用VBA的话,只能配合手工操作了。
如果想1至10的每个数字都出来的话,直接在A列填上1至10,然后再复制一次。凑足20个数了,然后在B列输入公式,=RAND(),将A列和B列选中,按B列排序。A列的顺序就乱了,1至10的每个数正好是出现两次啊。
还有一个办法,就是先在A列输入公式=INT(1+RAND()*10),向下拖至你需要的随机数的一半,产生了大约10个随机数姿旦兄之后,将这几个随机数选中,复迹袭制,在原位进行数值方式的选择性粘帖(目的是去掉公式),然后将重复的去掉,剩下的只保留能被20整除的个数,如保留4个、5个、或10个,然后将这几个数复制至20个,这样得出来的随机数肯定次数迟大相同。然后在B列输入公式=RAND(),选中AB列,按B列排序,A列的随机数就乱序了,A列数据就是你想要的。
Dim arr(1 To 20) As Integer, sum As Integer, max As Integer, min As Integer, avg As Single, i As Integer, j As Integer
Private Sub Form_Click()
Print "20个随机数是:"
For i = 1 To 20
Randomize
arr(i) = Int((99 - 10 + 1) * Rnd + 10) '生成10到99的两位数
Print arr(i);
If i Mod 10 = 0 Then Print '每行输出10个随机数
sum = sum + arr(i)
Next
avg = sum / 20
For i = 1 To 19
For j = i + 1 To 20
If arr(i) arr(j) Then
t = arr(i): arr(i) = arr(j): arr(j) = t '由小到大弯猛排序
End If
Next
Next
max = arr(20): min = arr(1)
Print "最大答闹御值:" max
Print "最小值清岩:" min
Print "平均值:" avg
End Sub
math/rand 中的所有整数函数都租脊生成非负数.
示例 main.go
执行
同理,需要int64 int32类型的随机数只要修改随机函数
但是需要注意 math/rand 几个函数的取值区间!如Intn的范围[0, n)。[0,20),20会纳凳取不到
我自己的需求洞型旅这样写已足够