扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
很高兴为您解答!
创新互联主要从事成都做网站、成都网站制作、成都外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务宁津,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
你是用什么语言生成?是一个四位数的数字还是四个随机数
如果是一个四位数,随机生成的数字乘于10000,如果是四个,遍历生成就行
希望对您有帮助!
math/rand 中的所有整数函数都生成非负数.
示例 main.go
执行
同理,需要int64 int32类型的随机数只要修改随机函数
但是需要注意 math/rand 几个函数的取值区间!如Intn的范围[0, n)。[0,20),20会取不到
我自己的需求这样写已足够
可以将生成的随机数放入数组中,每次遍历数组,有相同的重新生成随机数。知道生成4个即退出循环。
#include stdio.h
#include stdlib.h
#include time.h
int main()
{
int num[4], cnt = 0, n;
srand(clock()); // 设置随机数种子
while (cnt 4)
{
n = rand() % 4; // 生成4以内随机数,这样更利于测试
for (int i = 0; i cnt; i++)
if (num[i] == n) // 遍历数组,有相同的重新生成随机数
continue;
num[cnt++] = n;
}
for (int i = 0; i cnt; i++) // 打印随机数数组
printf("%d ", num[i]);
return 0;
}
#include stdio.h
#include stdlib.h
#include time.h //用到了time函数
int main()
{ int i,number;
srand((unsigned) time(NULL)); //用时间做种,每次产生随机数不一样
for (i=0; i50; i++)
{
number = rand() % 101; //产生0-100的随机数
printf("%d ", number);
}
return 0;
}
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
for i := 0; i 20; i++ {
r := rand.New(rand.NewSource(time.Now().UnixNano()))
//rand.Seed(time.Now().UnixNano()) //以当前纳秒数作为随机数种子
n := r.Int63()
fmt.Println(n)
}
}
查了下这样可以
不知道他内部怎么实现的 unixnano
const NUM int = 100
for i := 0; i NUM; i += 1 {
rand.Seed(int64(i))
fmt.Printf("%d\t", rand.Int63n(int64(NUM)))
}
其实在循环里面这点时间间隔,纳秒也是跟不上的。
还有,你用sleep的方法肯定是不能接受的!!!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流