计算双色球的中奖概率

 1 /**
 2  * ClassName: LotteryQuestion
 3  * @Description: TODO
 4  *  @category 听到有人忽悠说双色球二等奖比三等奖好中,还说打电话去福彩中心,人说"Yes!"
 5 * 很愤慨 这国家到处都是忽悠只缘于你们高中数学真的不及格
 6 *
 7 * 例如 我们国家福彩中心规则玩法 : 33个红球里选6,16个蓝球里选1
 8 * 忽悠: " 2等奖几率大于3等奖 "
 9 *
10 * 事实上这里有一个陷阱
11 *
12 * 二等奖的算法 应该是涵盖15个未摇中的篮球 因为不这样做就可能涵盖一等奖了
13 * [c15(1)*(1/[start2generateBalls])]
14 * 三等奖的算法应该是 6球选5球 再剩下的27球里选一个球 这样就不会涵盖二等奖
15 * c6(5)*c27(1)*(1/[start2generateBalls])
16  * @author Owen
17  * @date 2015年12月22日
18  */
19 public class LotteryQuestion {
20 private static int start2generateBalls() {
21 return C(33, 6) * C(16, 1);// 双色球33选6 16选1
22 }
23 static int C(int k, int n) {
24 int rs = 1;
25 for (int i = 1; i <= n; i++)
26 rs = rs * (k - i + 1) / i;
27 return rs;
28 }
29 static int Bingo(int type) {
30 int fenmu;
31 switch (type) {
32 case 1:
33 fenmu = 1; // 6+1 1/c33(6)*c16(1)
34 break;
35 case 2:
36 fenmu = 15; // 6+0 c15(1)/c33(6)*c16(1)
37 break;
38 case 3:
39 fenmu = 6 * 27; // 5+1 c6(5)*c27(1)/c33(6)*c16(1)
40 break;
41 case 4:
42 fenmu = C(6, 5) * C(27, 1) * C(15, 1) + C(6, 4) * C(27, 2); // 5+0 &
43 // 4+1
44 // (c6(5)*c27(1)*c15(1)+c6(4)*c27(2))/c33(6)*c16(1)
45 break;
46 case 5:
47 fenmu = C(6, 4) * C(27, 2) * C(15, 1) + C(6, 3) * C(27, 3); // 4+0 &
48 // 3+1
49 // (c6(4)*c27(2)*c15(1)+c6(3)*c27(3))/c33(6)*c16(1)
50 break;
51 case 6:
52 fenmu = C(6, 2) * C(27, 4) + C(6, 1) * C(27, 5) + C(27, 6);
53 break;
54 default:
55 fenmu = 0;
56 break;
57 }
58 return start2generateBalls() / fenmu;
59 }
60 public static void main(String[] args) {
61 System.out.println("[双色球一等奖中奖几率] -> [1/" + Bingo(1) + "]\n亲,500w!");
62 System.out.println("[双色球二奖中奖几率] -> [2/" + Bingo(2) + "]\n亲,166w!");
63 System.out.println("[双色球三等奖中奖几率]-> [1/" + Bingo(3) + "]\n亲,3000元");
64 System.out.println("[双色球四等奖中奖几率]-> [1/" + Bingo(4) + "]\n亲,没中过");
65 System.out.println("[双色球五等奖中奖几率]-> [1/" + Bingo(5) + "]\n亲,求安慰");
66 System.out.println("[双色球末等奖中奖几率]-> [1/" + Bingo(6) + "]\n亲,月月都来一次!");
67 }
68 }
时间: 2024-10-22 17:22:08

计算双色球的中奖概率的相关文章

使用接口测试活动的中奖概率(随机事件测试)

抽奖活动的中奖事件是个随机事件,用大量的手动测试来检验中奖概率的正确性显然不可取,除了手工对中奖流程,后续处理的校验外,可以和开发配合,使用接口来测试中奖的概率是否符合预期的设计要求. 1.思路: (1)开发提供中奖的接口,get该接口(此处需要向开发详细了解),每次随机返回以下四个结果: 0--表示未抽中 1--表示抽中1等奖 2--表示抽中2等奖 3--表示抽中3等奖 (2)使用for循环,多次请求该接口,并使用testNG框架中自带的设置多次执行方法和处理多线程的方法,使多个方法并发运行,

Jmeter测试中奖概率

最近做个项目需要测试中奖概率,又刚换的mac本win上的工具全不能用了,所以想到用jmeter实现. 实现步骤: 1.使用HTTP请求访问接口 2.添加查看结果器查看测试结果 3.添加聚合报告查看次数统计 2.使用JSON提取器提取json返回信息 3.添加调试取样器查看返回某个值的次数 原文地址:https://www.cnblogs.com/rslai/p/12544072.html

【微信开发】PHP中奖概率经典算法实例

$arr=array("50","30","20"); //这里简单列出三个数 $pro = array_sum($arr); // 概率数组的总精度 foreach ($arr as $key=>$value){ $randnum = mt_rand(1,$pro); if($randnum<=$value){ $res = $value; //这里是中奖的时候,一般$res会赋值和其概率相对应的奖品 break; }else {

微信开发查询双色球最新中奖号码

case "ssq": $contentStr = $this->get_new_ssq_result_info(); $this->weixin_output($contentStr,$textTpl,$fromUsername,$toUsername,$time); break; 1 private function get_new_ssq_result_info(){ 2 $var="http://caipiao.163.com/award/ssq/&quo

用循环与数组模拟双色球彩票中奖

String ji="机选"; String zi="自选"; System.out.println("请问机选还是自选?"); String my=wx.next(); int []a=new int[7];//用户买的号码记录的数组 //自选时的用户彩票 if(my.equals(zi)){ for(int i=0;i<a.length;i++){ //蓝球的输入 if(i==6){ System.out.println("请

php实现中奖概率

同事说的一道面试题 function r($data){ $n = rand(0,100); $temp = 0; foreach ($data as $k => $v) { $temp+=$v; if($n<=$temp) { return $k; } } return false; } $r = r(["t"=>0.1,"1"=>0.5,"2"=>1.5,"3"=>10,"4&

计算系数 计数与概率原理

题目描述 给定一个多项式(by+ax)k,请求出多项式展开后xn * ym 项的系数. 输入 共一行,包含5 个整数,分别为 a ,b ,k ,n ,m,每两个整数之间用一个空格隔开.0≤k≤1000, 0≤n,m≤k 且 n+m=k, 0≤a,b≤100,000 输出 输出共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果. 样例输入 1 1 3 1 2 样例输出 3 求系数的递推式 1 #include <bits/stdc++.h> 2 long l

[转]iOS设备唯一标识探讨

转自:http://www.jianshu.com/p/b83b0240bd0e iOS设备唯一标识探讨 为了统计和检测应用的使用数据,几乎每家公司都有获取唯一标识的业务需求,在iOS5以前获取唯一标识,可以获取到系统提供的方法UDID(Unique Device Identifier),后来被出于用户隐私的考虑被Apple官方禁止掉了.于是,大家开始在iOS6中使用 MAC 地址(Medium/Media Access Control) ,后来又被Apple官方在iOS7中禁止掉了.苹果及其国

【程序员眼中的统计学(5)】排列组合:排序、排位、排

排列组合:排序.排位.排 作者 白宁超 2015年10月15日18:30:07 摘要:程序员眼中的统计学系列是作者和团队共同学习笔记的整理.首先提到统计学,很多人认为是经济学或者数学的专利,与计算机并没有交集.诚然在传统学科中,其在以上学科发挥作用很大.然而随着科学技术的发展和机器智能的普及,统计学在机器智能中的作用越来越重要.本系列统计学的学习基于<深入浅出统计学>一书(偏向代码实现,需要读者有一定基础,可以参见后面PPT学习).正如(吴军)先生在<数学之美>一书中阐述的,基于统