双色球随机算法学习

反正也不知道能不能中奖,就写了个随机算法;所有组合出现的次数: (33*32*31*30*29*28/6*5*4*3*2*1 )*16 = 17721088。

那就产生个17721088随机双色球,能不能中奖,看运气;

这里输出了 重复次数超过8次的号码!祝您好运!

 

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.alibaba.fastjson.JSON;

public class ShuangsqMain {
	private static Integer size = 17721088;
	private static Logger logger = LoggerFactory.getLogger(ShuangsqMain.class);

	public static void main(String[] args) throws Exception {
		Map<String, Integer> rs = new HashMap<String, Integer>();
		Map<String, Integer> print = new HashMap<>();
		for (int start = 1; start <= size; start++) {
			List<Integer> codes = new ArrayList<Integer>();
			List<Integer> redInt = new ArrayList<Integer>();
			List<Integer> BlurInt = new ArrayList<Integer>();
			for (int k = 1; k <= 33; k++) {
				redInt.add(k);
				if (k <= 16)
					BlurInt.add(k);
			}
			while (codes.size() < 6) {
				int idx = new Random().nextInt(redInt.size());
				if (idx < 0)
					idx = 0;
				if (idx >= redInt.size())
					idx = redInt.size() - 1;
				codes.add(redInt.get(idx));
				redInt.remove(idx);
			}
			Collections.sort(codes);
			int idx = new Random().nextInt(BlurInt.size() - 1);
			codes.add(BlurInt.get(idx));
			String code = JSON.toJSONString(codes);
			Integer rsInt = 0;
			if (rs.containsKey(code)) {
				rsInt = rs.get(code);
				if (rsInt >= 8) {
					if (!print.containsKey(code))
						logger.info(code + "\t\t\t\t times=" + rsInt);
					print.put(code, rsInt + 1);
				}
			}
			rsInt++;
			rs.put(code, rsInt);
		}
		for (String key : print.keySet()) {
			logger.warn(key + "\t" + print.get(key));
		}
	}

}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用方式: 在D盘建立一个文本文件名为:shuangseqiu.txt 讲双色球红球的号码以逗号分隔放到里面,比如:(可以放入多注,不要放蓝球) 4,12,14,21,27,29 1,5,16,17,18,24 2,13,15,17,26,33 算法一:双色球杀号码 差 方法一:利用上期开奖红球号码每两个号码相减的绝对值作为下一期开奖号码杀号的选择。例如04061期开奖号码13、16、19、20、23、33,每两个号码相减的绝对值为16-13、19-13、20-13等共有15个差值,其中有相同的差值,那么04062期的杀号选择为01、03、04、06、07、10、13、14、17、20,实际杀错了一个红球01。此方法杀错号码个数一般在0-2个,但也有例外,04059期杀错6个,所以此方法要灵活运用。 算法二:双色球杀号码 和 算法三:双色球杀号码 乘积/商 乘除法 https://wenku.baidu.com/view/1dfc5612f18583d0496459cb.html?sxts=1565623827084 末尾两数相乘(相除):(乘取得数最后一位杀尾,除取三位数最后一位) 128期 开奖号 04 15 21 30 31 33 33*31=1023 129期杀3尾 129期杀3 13 23 33 对 33/31=1.06 6 6 16 26 对 https://wenku.baidu.com/view/ddf6abee856a561252d36fdd.html?sxts=1565623520317 双色球红球杀号技巧(实践经验,准确率高达90%) 末尾两数相乘(相除):(乘取得数最后一位杀尾,除取三位数最后一位) 128期 开奖号 04 15 21 30 31 33 33*31=1023 129期杀3尾 129期杀3 13 23 33?对 33/31=1.06 6 6 16 26 对 算法四:双色球选号码 乘积/商 乘除法 所谓计算法是指根据本期开奖号码,通过加减计算预测下期开奖号码的一种较为实用。 直观的选号方法。具体来说,运用计算法步聚如下: 一、将本期开奖的六个红号加起来得到一个总和。 二、让总和减去每一位开奖红号分别得到一个差数。 三、让这个差数除以每一个开奖号码,分别得到一个得数和余数。 四、舍弃余数,只考虑得数,让这个得数作参考,可选择出下期的开奖号码。 例如:“双色球”第60期开奖号码为“02、04、06、17、21、28”6个红号相加总和为78。计算方法如下 : (78-2)÷2=38……0, 下期奖号可能出现08、18或28。 (78-4)÷4=18……2, 下期奖号可能出现08、18或28。 (78-6)÷6=12……0, 下期奖号可能出现02、12、22或32。 (78-17)÷17=3……10,下期奖号可能出现03、13、23或33。 (78-21)÷21=2……15,下期奖号可能出现02、12、22或32。 (78-28)÷28=1……22,下期奖号可能同现01、11、21或31。 其中有两式得数均出现8, 必然有8尾数号开出。以上共选出08、18、28、02、12、22、32、03、13、23、33、01、11、21、31共计15个号。 01、02、03、08、11、12、13、18、21、22、23、28、31、32、33

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值