/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package test;
import java.math.BigInteger;
import java.math.BigDecimal;
/**
* 2011-3-19
* @author Jasper
*/
public class RedandBlue {
public static void main(String[] args) {
System.out.println("双色球中奖概率(6/33+1/16):");
BigInteger allOdds = getOdds(33,6).multiply(getOdds(16,1));
BigInteger odds1 = getOdds(6,6).multiply(getOdds(1,1));
BigInteger odds2 = getOdds(6,6).multiply(getOdds(15,1));
BigInteger odds3 = getOdds(6,5).multiply(getOdds(27,1)).multiply(getOdds(1,1));
BigInteger odds4 = getOdds(6,5).multiply(getOdds(27,1)).multiply(getOdds(15,1)).add(getOdds(6,4).multiply(getOdds(27,2)).multiply(getOdds(1,1)));
BigInteger odds5 = getOdds(6,4).multiply(getOdds(27,2)).multiply(getOdds(15,1)).add(getOdds(6,3).multiply(getOdds(27,3)).multiply(getOdds(1,1)));
BigInteger odds6 = getOdds(6,2).multiply(getOdds(27,4)).multiply(getOdds(1,1)).add(getOdds(6,1).multiply(getOdds(27,5)).multiply(getOdds(1,1))).add(getOdds(27,6).multiply(getOdds(1,1)));
BigInteger odds1_7 = odds1.add(odds2).add(odds3).add(odds4).add(odds5).add(odds6);
BigInteger odds7 = allOdds.add(odds1_7.negate());
String odds11 = BigDecimal.valueOf(odds1.longValue()).divide(BigDecimal.valueOf(allOdds.longValue()),8,BigDecimal.ROUND_HALF_EVEN).toPlainString();
String odds21 = BigDecimal.valueOf(odds2.longValue()).divide(BigDecimal.valueOf(allOdds.longValue()),8,BigDecimal.ROUND_HALF_EVEN).toPlainString();
String odds31 = BigDecimal.valueOf(odds3.longValue()).divide(BigDecimal.valueOf(allOdds.longValue()),8,BigDecimal.ROUND_HALF_EVEN).toPlainString();
String odds41 = BigDecimal.valueOf(odds4.longValue()).divide(BigDecimal.valueOf(allOdds.longValue()),4,BigDecimal.ROUND_HALF_EVEN).toPlainString();
String odds51 = BigDecimal.valueOf(odds5.longValue()).divide(BigDecimal.valueOf(allOdds.longValue()),4,BigDecimal.ROUND_HALF_EVEN).toPlainString();
String odds61 = BigDecimal.valueOf(odds6.longValue()).divide(BigDecimal.valueOf(allOdds.longValue()),4,BigDecimal.ROUND_HALF_EVEN).toPlainString();
String odds71 = BigDecimal.valueOf(odds7.longValue()).divide(BigDecimal.valueOf(allOdds.longValue()),4,BigDecimal.ROUND_HALF_EVEN).toPlainString();
double check=(new Double(odds11))+(new Double(odds21))+(new Double(odds31))+(new Double(odds41))+(new Double(odds51))+(new Double(odds61))+(new Double(odds71));
System.out.println("一等奖(中6+1)中奖概率:"+odds1+"/"+allOdds+"="+odds11);
System.out.println("二等奖(中6+0):"+odds2+"/"+allOdds+"="+odds21);
System.out.println("三等奖(中5+1)(3000元)中奖概率:"+odds3+"/"+allOdds+"="+odds31);
System.out.println("四等奖(中5+0或4+1)(200元)中奖概率:"+odds4+"/"+allOdds+"="+odds41);
System.out.println("五等奖(中4+0或3+1)(10元)中奖概率:"+odds5+"/"+allOdds+"="+odds51);
System.out.println("六等奖(中2+1或1+1或0+1)(5元)中奖概率:"+odds6+"/"+allOdds+"="+odds61);
System.out.println("不中奖概率:"+odds7+"/"+allOdds+"="+odds71);
System.out.println("验证结果,概率相加之和为"+check);
}
private static BigInteger getOdds(Integer n,Integer k) {
BigInteger lotteryOdds = BigInteger.valueOf(1);
for(int i = 1; i<=k;i++) {
lotteryOdds = lotteryOdds.multiply(BigInteger.valueOf(n-i+1)).divide(BigInteger.valueOf(i));
}
return lotteryOdds;
}
}
结果:
run:
双色球中奖概率(6/33+1/16):
一等奖(中6+1)中奖概率:1/17721088=0.00000006
二等奖(中6+0):15/17721088=0.00000085
三等奖(中5+1)(3000元)中奖概率:162/17721088=0.00000914
四等奖(中5+0或4+1)(200元)中奖概率:7695/17721088=0.0004
五等奖(中4+0或3+1)(10元)中奖概率:137475/17721088=0.0078
六等奖(中2+1或1+1或0+1)(5元)中奖概率:1043640/17721088=0.0589
不中奖概率:16532100/17721088=0.9329
验证结果,概率相加之和为1.00001005
成功生成(总时间:0 秒)
祝大家中大奖,交好运!
<!-- -->
分享到:
相关推荐
真正能运行完整的双色球概率分析工具,很不错,分享出去。
BT测试双色球概率
Java双色球概率问题.rar
喜欢买双色球的c友,可以用这个代码来分析历年来双色球出现概率最多的球号 祝愿c友能中大奖
对彩票双色球进行概率统计和预测排序的算法。 对每个号码出现频率和遗漏次数进行加权统计,然后排序,预测下期号码。
excel双色球选号 随机性 取号 祝大家心想事成
ASP.NET源码——双色球走势分析图源码.zip
使用Java实现了双色球的简单玩法,非常适合于Java初学者的案例。
C#写的 主要的图形统计分析 功能 数据截止2010102期 基于mysql数据库 ,dmp文件导入即可 附mysql C#驱动 没有预测和投注功能 呵呵 纯属娱乐
不断摸索数据挖掘模型,力争挖掘出双色球的七个数字,红球篮球多少人一生的梦想,争取加入加入500W俱乐部!
最全面的双色球定位+和值+大底+余数分析
7、中奖概率分析:基于历史数据,我们对中奖概率进行了深入分析,为您购买彩票提供有力的数据支持。 8、现在,就让我们一起踏上这场充满未知与惊喜的彩票之旅吧! 9、工具示例图片:...
射能力以及强大的自学习能力,因此在彩票等非线性大数据分析预测方面, 有着很大的应用市场。 具有局部逼近的优点 RBF神经网络是一种性能优良的前馈型神经网络,RBF网络可以任意精度逼近 任意的非线性函数,且...
排列组合,计算概率的小工具,可以随机生成可定义的数组,附带一个双色球彩票模拟游戏,玩玩中个500万过下瘾.源码开放.
教你在EXCEL中怎么制作概率分布图
系统需要 .net framework 3.5 分析出现最多的号码,机选功能仅供娱乐,我没中过奖,哈哈
附件内容为双色球分析组合软件,仅供跟我一样双色球的朋友参考,并希望参与优化和改进。 为了方便大家学习,代码并未加密,全是公开的。快捷键Alt+F11就能看到代码了。 组合时建议用Excel2007以上版本。 包括以下...
实用工具,基于C#+MySQL开发的双色球分析工具,含完整源码、数据库脚本、所有历史开奖数据,能实时同步开奖数据,必中500万 双色球总共有 1772,1088 种结果,除去蓝球有 100,7568 种结果,中奖概率为 0....
filename = r"D:\数据库\双色球.txt" # 文件路径 data = [] # 初始化数据列表 with open(filename, 'r') as file: # 打开文件 reader = csv.reader(file) # 读取文件 for row in reader: # 遍历文件 red_balls = ...
基于Python的双色球和大乐透数据分析与统计项目旨在利用Python语言对中国彩票——双色球和大乐透的历史数据进行分析与统计。通过该项目,用户可以了解彩票数据的分布规律、号码出现的频率以及相关的统计特征,从而为...