十一选五 胆拖 中奖 算法
十一选五 胆拖 中奖 算法
以前的算法是 二中二一个类 三中三 一个类 .. . . 并且算法到后面 写得很长 主要原因是 他把该有多少注 每注进行计算是否中奖的
这个算法是先计算是否中奖 然后 根据中奖情况(胆码中的个数 和 拖码 中的个数来计算总中奖注数 ) 并且 拖码全部用这个算法都行
//此代码不全
package com.sscgameservice.manager.lottery.renxuan.dantuo;import java.math.BigDecimal;import com.sscgameservice.manager.lottery.Lottery;import com.sscgameservice.model.LotteryBean;public class RXDTBASELottery extends Lottery{/** * 任选胆拖 */private int q; // 几中几 二q中h二 q=2 h=2private int h;public void setQ(int q) {this.q = q;}public void setH(int h) {this.h = h;}//计算中奖注数 strBuy 为开奖号码 中间用 符号链接 private BigDecimal jisuanZhuShu(String[] danMa, String[] tuoMa, String strBuy) {int FlagDM = 0;int FlagTM = 0;for (String string : tuoMa) {if(strBuy.indexOf(string.replace(" ", ""))!=-1){FlagTM++;}}for (String string : danMa) {if(strBuy.indexOf(string.replace(" ", ""))!=-1){FlagDM++;}}//if(FlagDM+FlagTM >= h && FlagTM >= 1 && FlagDM >= 1 && danMa.length-FlagDM <= q-h ){//中奖int zhushu = 1;if(h!=5){for(int i = FlagTM; i > 1;i--){zhushu*=i;}for(int i = FlagTM-(h-FlagDM); i>1;i--){zhushu/=i;}for(int i = h-FlagDM; i>1;i--){zhushu/=i;}}return new BigDecimal(zhushu); //中奖注数}else{//没中奖}return new BigDecimal("0");}}