Golang编程实现生成n个从a到b不重复随机数的方法

package test import ( "fmt" "math/rand" "time" ) //生成若干个不重复的随机数 func RandomTestBase() { //测试5次 for i := 0; i < 5; i++ { nums := generateRandomNumber(10, 30, 10) fmt.Println(nums) } } //生成count个[start,end)结束的不重复的随机数 func generateRandomNumber(start int, end int, count int) []int { //范围检查 if end < start || (end-start) < count { return nil } //存放结果的slice nums := make([]int, 0) //随机数生成器,加入时间戳保证每次生成的随机数不一样 r := rand.New(rand.NewSource(time.Now().UnixNano())) for len(nums) < count { //生成随机数 num := r.Intn((end - start)) + start //查重 exist := false for _, v := range nums { if v == num { exist = true break } } if !exist { nums = append(nums, num) } } return nums }

输出结果:

?

[12 20 18 19 21 28 15 13 11 10]
[28 15 12 10 20 18 16 24 27 17]
[25 28 29 19 21 12 16 13 11 15]
[27 20 19 23 18 13 21 24 12 26]
[19 10 27 18 28 12 22 14 16 26]

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2017-05-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

openCV—访问与操作像素(图片的区域的更改)

结果如下: 位置(0,0)处的像素 - 红:225,绿:138,蓝:128 位置(0,0)处的像素 - 红:200,绿:150,蓝:100

22410
来自专栏GIS讲堂

地图模态层的实现

咱们书接上上文,在上上文里面给大家分享了”ol4中实现只能查看用户权限所在区的地图“,在本文给大家分享一个结合turf.js实现区域裁剪实现地图模态层的效果。

11220
来自专栏iOSDevLog

将Core ML模型集成到您的应用程序中

此示例应用程序使用经过训练的MarsHabitatPricer.mlmodel模型来预测火星上的栖息地价格。

8810
来自专栏Jack-Cui

Caffe学习笔记(一):CIFRA-10在Caffe上进行训练学习

运行平台:Ubuntu14.04     安装完Caffe后,如何开始学习Caffe呢?一个不错的方法就是从Caffe自带的examples开始学起。在caff...

34270
来自专栏素质云笔记

SSD+caffe︱Single Shot MultiBox Detector 目标检测+fine-tuning(二)

承接上一篇SSD介绍:SSD+caffe︱Single Shot MultiBox Detector 目标检测(一) 如果自己要训练SSD模型呢,关键...

1.2K100
来自专栏CDA数据分析师

Python图像处理库:Pillow 初级教程

Pillow由PIL而来,所以该导入该库使用import PIL 本文相关的代码:https://github.com/445141126/pillow_ex...

56590
来自专栏数据小魔方

带数据等级评定的柱形图

今天跟大家分享的是带数据等级评定的柱形图! ▽▼▽ 在传统柱形图中,如果能够在图表中加入优良差等数据等级评定的区域,那么读者在阅读起来就容易许多,不用自己心里去...

27030
来自专栏Small Code

【TensorFlow】TensorFlow 的卷积神经网络 CNN - TensorBoard版

前面 写了一篇用 TensorFlow 实现 CNN 的文章,没有实现 TensorBoard,这篇来加上 TensorBoard 的实现,代码可以从 这里 下...

45660
来自专栏帮你学MatLab

《Experiment with MATLAB》读书笔记(九)

读书笔记(九) %% 复数的极坐标形式 z = 3 + 4i r = abs(z) %极径 phi = angle(z) %幅角 ...

30990
来自专栏天天P图攻城狮

Android终端上视频转GIF的实现及GIF质量讨论

在生成 GIF 的过程中,最关键的步骤就是生成调色板以及像素到调色板的映射关系。

1.2K110

扫码关注云+社区

领取腾讯云代金券