go语言产生4位随机数 go 随机

如何随机生成4个互不相同的数字

1

成都创新互联公司专注于青田企业网站建设,响应式网站建设,商城网站制作。青田网站建设公司,为青田等地区提供建站服务。全流程按需开发,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

#include "stdafx.h"

#include "process.h"

#include "time.h"//引入时间头文件 利用时间作为随机数种子

#include iostream

using namespace std;

bool testRepetition(int iArr[], int newNum, int ilength);//定义函数 判断新产生的随机数是否与前面有重复值

int main(int argc, char* argv[])

{

int iNum[4] = { 0 };//定义整形数组 初始化各项为0

srand((unsigned)time(NULL));//出初始化随机数种子

for (int i = 0; i 4; i++)

{

int iTem = rand() % 10;//产生第一个随机数

int iLen = sizeof(iNum) / sizeof(iNum[0]); //获取数组长度

while (!testRepetition(iNum, iTem, iLen)) //直到产生与之前不重复的随机数 赋值给数组项

{

iTem = rand() % 10;//产生随机数

}

iNum[i] = iTem;//产生随机数并赋值给数组项

cout iNum[i] "\t" endl;//输出数组项数据

}

system("pause");

return 0;

}

bool testRepetition(int iArr[], int newNum, int ilength)

{

//sizeof(iArr) / sizeof(iArr[0]) 无法获取到数组的长度 数组参数传递的是指针

for (int i = 0; i ilength; i++)

{

//printf("\n**************%d,%d,%d,%d****************\n", sizeof(iArr) / sizeof(iArr[0]),i, iArr[i], newNum);

if (iArr[i] == newNum){ return false; }

}

return true;

}

golang连续生成随机数

const NUM int = 100

for i := 0; i NUM; i += 1 {

rand.Seed(int64(i))

fmt.Printf("%d\t", rand.Int63n(int64(NUM)))

}

其实在循环里面这点时间间隔,纳秒也是跟不上的。

还有,你用sleep的方法肯定是不能接受的!!!

GO GOLANG 生成范围随机数

math/rand 中的所有整数函数都生成非负数.

示例 main.go

执行

同理,需要int64 int32类型的随机数只要修改随机函数

但是需要注意 math/rand 几个函数的取值区间!如Intn的范围[0, n)。[0,20),20会取不到

我自己的需求这样写已足够


本文标题:go语言产生4位随机数 go 随机
本文来源:http://hbruida.cn/article/dohsesh.html