大家新年好,在过年的这段日子里,本人过的是非常的不错,可以说是吃的饱,睡的好,正所谓酒足饭饱,打打牌,出门走亲戚,不免饭后打打牌,毕竟小赌怡情,今日学习了一下斗牛,交了不少学费,于是抱着先了解,后深入的精神,研究了一下关于斗牛的基础算法,看完之后,发现十赌九输还是有一定道理的,

function getRandom() {
return parseInt(2 + (9 - 2 + 1) * Math.random());
}

function getCards() {
var arr = [];
var count = 5;
while (count–) {
arr.push(getRandom());
}
return arr;
}

function cal(cards) {
console.log(cards);
var s = 0;
var dict = {};
for (var i = 0; i < cards.length; i++) {
var ci = cards[i];
s += ci;
dict[ci] = dict[ci] === undefined ? 1 : dict[ci] + 1;
};
var point = s % 10;
var exists = false;
for (var i in dict) {
var other = (10 + point - i) % 10;
if (dict[other]) {
if ((other == i && dict[other] >= 2) || (other!=i&&dict[other] >= 1)) {
exists = true;
break;
}
}
}
return exists ? point : -1;
}

console.log(cal(getCards()));
// console.log(cal([6, 6, 9, 3, 9]));

最后是一组关于斗牛所有情况的概率表,望大家看了之后心里有点数(拿出jqk)

所有牌的组合数:658008
出现四条的组合数:360,概率 :0.05%
出现三条的组合数:25200,概率 :3.83%
出现牛十的组合数:42432,概率 :6.45%
出现牛九或牛八的组合数:87296,概率 :13.27%
出现牛一到牛七的组合数:306112,概率 :46.52%
出现没有牛的组合数:196608,概率 :29.88%

本文纯属原创,抄袭必究!

趣味js之斗牛算法详解相关推荐

  1. php 实现斗牛算法,趣味js之斗牛算法详解

    大家新年好,在过年的这段日子里,本人过的是非常的不错,可以说是吃的饱,睡的好,正所谓酒足饭饱,打打牌,出门走亲戚,不免饭后打打牌,毕竟小赌怡情,今日学习了一下斗牛,交了不少学费,于是抱着先了解,后深入 ...

  2. js实现Dijkstra算法详解

    Dijkstra算法 Dijkstra算法是一种计算从单个源到所有其他源的最短路径的贪心算法(无法解决边权值为负的情况) 考虑下图: 如果索引为i的节点和索引为j的节点相邻,则array[i][j] ...

  3. js排序算法详解-归并排序

    js系列教程5-数据结构和算法全解 js排序算法详解-归并排序 归并排序其实可以类比二分法,二分法其实就是二等分的意思,简而言之就是不断和新序列的中间值进行比较.归并排序似乎有异曲同工之妙,什么意思呢 ...

  4. js排序算法详解-基数排序

    全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-基数排序 其实基数排序和桶排序挺类似的,都是找一个容器把属于同一类的元素装起来,然后进行排序.可以把基数排序类 ...

  5. js排序算法详解-桶排序

    全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-桶排序 一看到这个名字就会觉得奇特,几个意思,我排序还要再准备几个桶不成?还真别说,想用桶排序还得真准备几个桶 ...

  6. js排序算法详解-计数排序

    全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-计数排序 计数排序就是遍历数组记录数组下的元素出现过多次,然后把这个元素找个位置先安置下来,简单点说就是以原数 ...

  7. js排序算法详解-堆排序

    全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-堆排序 这种排序方式呢,理论性太强,看动图的时候满脸写着懵逼,多看几遍似乎明白了编者的意图,但是要把这种理论的 ...

  8. js排序算法详解-快速排序

    全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-快速排序 既然是快速排序,那顾名思义一定很快,快的连小编都被懵逼了好几圈!建议先不要看动图,先看第一种写法: ...

  9. js排序算法详解-希尔排序

    全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-希尔排序 希尔排序,直接上图: 像这个算法看图理解起来并不是很难,就像比赛一样,1-6一组,2-7一组,每差5 ...

最新文章

  1. 一次解析系统_消防稳压泵的流量、压力、选型以及配套气压罐的重难点解析
  2. ASP.NET中使用一般处理程序ashx作为后台处理实现响应get和post请求
  3. [转载]一句话插配置文件
  4. R语言基础入门(6)之向量下标和子集
  5. CCNA网络小菜鸟笔记之(第十一章, 广域网协议)
  6. C语言控制台窗口界面编程:用printf在终端打印一个GUI窗口
  7. 数据库快照的工作方式
  8. 前端接收pdf文件_原生ajax请求获取pdf文件流本地下载(支持谷歌IE)
  9. java中各种常见的异常
  10. Excel精度问题。
  11. 软考高项你想知道的都在这
  12. 大数据产品推荐:神策分析——可私有化部署的用户行为分析平台
  13. 计算机义诊暑期社会实践报告,义诊社会实践报告
  14. android 实现发送短信功能
  15. 声音存储空间计算公式_声音采样频率计算公式
  16. 粘贴板管理 android,复制粘贴神器(剪贴板管理)app
  17. 浅谈测试环境管理方式
  18. 破解WIFI详细教程
  19. open judge1.7.13
  20. 沉镀非晶质氟化碳(a-C:F)膜-供应CulnS2/CBD硫化铟/钒氧化物/铜铬磷硫CuCrP2S6/铜铁锡硫(CFTS)/铜铟硫光电/铬-氧/铜铁锡硫(CFTS)/钒氧化物薄膜定制

热门文章

  1. NOIP200703守望者的逃离
  2. Java编写图像浏览器_浏览器下载图像(JAVA代码)
  3. 推荐一款自动更新 Docker 镜像与容器的神器 Watchtower
  4. Multisim14.0仿真:三相半波可控整流电路
  5. 黑客历程碑事件编年史
  6. 二次函数图像如何用计算机绘制,怎么在WPS表格中绘制二次函数曲线图
  7. 【Unity国际版下载地址】
  8. Java与WCF交互(一)补充:用WSImport生成WSDL的Java客户端代码
  9. 希尔顿集团大中华区第450家酒店开业;Gap在山东青岛开新店 | 美通企业日报
  10. 光纤中的多种光学模式芯径_光纤的结构是什么?种类有哪些?该怎么选择?