程序语言有很多种,任意语言都可以完成该充满希望的需求,且实现方法也有多种

这里使用 golang 完成此希望工程,只当做示例参考,下面看代码:

package mainimport ("fmt""math/rand""sort""time"
)func main() {getBalls()
}func getBalls()  {// 定义红球数组var redBalls [6]intfor i := 0; i < 6; i ++ {for {// 取随机红球rand.Seed(time.Now().UnixNano())num := rand.Intn(33) + 1// 判断红球是否重复if ifInBalls (num, redBalls) {redBalls[i] = numbreak}else {continue}}}// 从小到大排序sort.Ints(redBalls[:])// 定义篮球数组var blueBall [1]int// 取随机篮球num := rand.Intn(16) + 1blueBall[0] = num// 输出结果fmt.Println(redBalls, blueBall)
}// 验证红球是否重复func
func ifInBalls(param int, list [6]int) bool {for _, b := range list{if b == param {return false}}return true
}

看下结果:

这里需要注意几点:

1. 业务注意点: 红球不能重复, 具体看 func ifInBalls 处理方法

2. 技术注意点: math.rand 是伪随机

伪随机生成的数字是确定的,不论在什么机器、什么时间,只要执行的随机代码一样,那么生成的随机数就一样,例如:

func main() {rand.Seed(2)for i := 0; i < 6; i++  {println(rand.Intn(100))}
}// output
86
86
92
40
32
21

golang使用一个seed作为source来生成伪随机数字,默认seed为1,只要seed固定了,那么所有随机数就固定了...

这里有一个坑:如果seed固定,那么每次程序重启后重新生成随机数会重复上一次的随机数

既然这样就会出现红球重复问题, 那么我们可以每次使用不同的seed来启动程序,就可以保证每次启动都产生新的随机数,聪明的你肯定想到了使用时间戳:

// 取随机红球
rand.Seed(time.Now().UnixNano())

time.Now 是获取到秒  UnixNano 是毫秒

好了~今天希望工程就介绍到这里,下次继续.

程序生成随机双色球号码~golang相关推荐

  1. Java随机双色球号码Demo

    今天同事买的彩票中了5块钱,大家都在讨论双色球彩票.顺手写了个随机号码demo.分享一下. import java.util.Set; import java.util.TreeSet;public ...

  2. java编程随机数练习题:产生双色球号码

    产生双色球号码 双色球规则是从1-36个数字中产生6个红球号码, 再从1-10中产生两个蓝球号码 依照以上规则,写程序产生随机双色球号码,注意红球之间不能重复,蓝球之间也不能重复 public sta ...

  3. 随机生成双色球号码判断中奖模拟开奖python代码

    # @Author: Gerry Zhao # @Date: 2019-01-23 18:56:47 # Last Modified by: Gerry Zhao # Last Modified ti ...

  4. 用数组实现随机生成双色球号码

    每日作业 实现随机生成双色球号码 红球33个球(01-33)取6个 蓝球16个球(01-16)取1个 提示: 蓝球池{"01"....."16"}: 红球池{& ...

  5. 用Python帮你随机选择双色球号码

    点击上方"程序IT圈",选择"星标"公众号 重磅干货,第一时间送达 双色球,顾名思义,就是两种颜色的球,红色和蓝色. 红球从1-33中取出6个,篮球从1-16取 ...

  6. 简单使用html+css+js随机获取一注双色球号码

    随机抽取双色球号码 双色球规则: 双色球 投注区分为红色球号码区和蓝色球号码区,每注投注号码由6个红色球号码和1个蓝色球号码组成,红色球号码从1到33中选择,蓝色球号码从1到16中选择. 使用html ...

  7. Python 实现随机生成双色球号码

    输入生成的双色球组数,随机批量生成双色球号码 幸运数字为蓝色球 import random print("*****福彩双色球*****") print("======= ...

  8. 编程练习:福利彩票中心,实现随机生成双色球号码,实现下注号码对比。 基础知识:1.数组 2.循环逻辑

    基础知识:1.数组 2.循环逻辑 实现随机生成双色球号码: [ 04 12 30 08 15 26 ] [ 11 ] 思路: 蓝球池 { "01","02",& ...

  9. 双色球4:完成简单的产生随机幸运号码和判断中奖等级

    package com.threeday.ssq;import java.util.Scanner;/* * 1.显示主菜单和选择 * 2.实现主菜单循环显示和选择 * 3.完成购买彩票操作 * 4. ...

最新文章

  1. 经典网络GoogLeNet介绍
  2. 【每日DP】day6 P1541 乌龟棋(四维DP)难度⭐⭐⭐
  3. mysql注入反弹_Discuz!x xss反弹后台无防御sql注入getshell(附带exploit)
  4. UVA 10341 二分搜索
  5. Android开发四 开发第一个Android应用
  6. JZOJ 2678. 树B
  7. Java的精妙之处,包括基元和变量参数数组
  8. 【线性代数】2-5:逆(Inverse)
  9. 从工程师的角度审视 Web 3,没有任何炒作
  10. 20170317起mvc功能学习
  11. 学用NHibernate(一)
  12. 和风天气获取天气情况
  13. PHP网页的工作原理
  14. java 集合之Interface Map<K,V> HashMap实现类
  15. 单元测试|Unittest setup前置初始化和teardown后置操作
  16. 闲话虚拟仪器开发历史
  17. 计算机右下角时间格式,电脑右下角时间格式_电脑右下角时间不准
  18. 《Microduino实战》——3.2 “Hello World!”—— 开启编程之旅
  19. 计算机英语wheel是什么意思,wheel是什么意思_wheel翻译_读音_用法_翻译
  20. 要跑步,选对鞋!给新手的跑步鞋指南

热门文章

  1. 软考程序员知识点总结(错题记录)
  2. 多IMSI卡切换IMSI日志流程
  3. 洛谷P1035题解 [NOIP2002 普及组] 级数求和
  4. echarts地图上的标签为图片_ECharts中地图的使用
  5. Chrome浏览器发送两次请求
  6. 魔方机器人(基于OpenCV、Arduino)
  7. 微服务启动failed and no fallback available
  8. xxl-job优雅停止执行器即客户端tomcat
  9. ups计算软件_UPS电源在医疗行业的应用
  10. 15. 10BASE-F 型光纤介质和介质连接单元和星形的通用元件