24点游戏探秘系列6:用概率统计的眼光看24点游戏

原创 2003年07月07日 08:50:00

24点游戏探秘系列6:

用概率统计的眼光看24点游戏

作者 ococo 2003/1/30
http://ococo.vip.myrice.com

24点游戏是用四张牌使用加减乘除先得出24者为赢(其中A代表1;J代表11;Q代表12;K代表13;大小王代表5)。

解24点游戏时,需要试多少次才知道是否有解呢?为了简单起见,这里只讨论四数不同的情况。

首先看两个数用加减乘除运算,看有几种情况:


a + b
a * b
a - b
a / b
b - a
b / a

去除与(a+b)等价的(b+a),和与(a*b)等价的(b*a),有6种情况。

从4个数中取两个数,根据概率统计可知有4*3/2=6种可能。

因此,第一步计算有4*3/2 * 6 = 36种可能。

现在,有一个计算出的数,和4个数中的另外两个,共3个数。需要从中再取出两个并选择一个运算方式。这次运算又有3*2/2*6 = 18 种可能(原理同上)。
最后两个数的运算又有 2*1/2*6 = 6种可能。

因此,总的来看,每一组数都有36*18*6 = 3888种可能情况。每个解都是这3888种情况中的一种。计算机求解也是在这3888种情况中逐一尝试进行的。

那么又有多少组数呢。这就简单了。四个数都不相同时,有13*12*11*10 = 17160组数。

求所有局面的所有解,也就是17160*3888 = 66718080种情况,做这个对现在的家用电脑都是小菜一碟,瞬间完成的。

以下是不重复1-13的四个数有解个数的分布情况:

108组数没有解。

其他情况为:

 sum(1-10)=356 //表示 有356组的解的个数在(1-10)之间
 sum(11-20)=121
 sum(21-30)=80
 sum(31-40)=29
 sum(41-50)=8
 sum(51-60)=5
 sum(61-70)=2
 sum(71-80)=2
 sum(81-90)=2
 sum(91-100)=1
 sum(101-110)=0
 sum(111-120)=1

24点游戏-c#求解-英雄会在线编程题目

小时候挺喜欢玩24的游戏,看到这道题也特别有感情,所以,就拿它来写写吧。       中间还有个小插曲,自己写完后,就拿数据进行测试,测试过程中,就然被一组随机数据给难倒了,呵呵,程序给出可以计算出...
  • mamihong
  • mamihong
  • 2014年03月17日 10:14
  • 1783

C++实现24点游戏算法

**2017-7-18更新更新内容: 算法本身并没问题,些许小地方有bug,已经修改。如果测试还有问题,请评论告知,非常感谢!!现已上传github: 这里写链接内容#include #inclu...
  • qq_16013649
  • qq_16013649
  • 2015年09月24日 11:39
  • 2534

24点游戏的编程算法(C语言实现)

#include #include #include #define LING 1E-6 #define CONT 4 #define VOLUE 24 float number[CONT]...
  • CTO_51
  • CTO_51
  • 2013年04月23日 00:09
  • 5585

OJ 系列之24点游戏算法

1、问题描述2、解题思路没找到好的办法,采用穷举法。所谓穷举法就是列出4个数字加减乘除的各种可能性。我们可以将表达式分成以下几种:首先我们将4个数设为a,b,c,d,,将其排序列出四个数的所有排序序列...
  • xy010902100449
  • xy010902100449
  • 2016年01月21日 17:11
  • 820

游戏设计的概率统计入门

本文转载自: http://blog.sina.com.cn/s/blog_48fbe4a1010009lw.html 原作者:Tyler Sigman 译者是自GAMASUT...
  • kamaliang
  • kamaliang
  • 2012年01月03日 09:47
  • 1012

纸牌24点游戏模拟(4+2*6+8=24)

  • 2009年03月28日 00:19
  • 33KB
  • 下载

vc 6 制作的24点游戏。非常珍贵啊。

  • 2008年10月29日 08:40
  • 180KB
  • 下载

C语言-纸牌计算24点小游戏

C语言实现纸牌计算24点小游戏  利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的。程序主要功能已完成,目前...
  • RodeStillFaraway
  • RodeStillFaraway
  • 2016年01月17日 13:55
  • 2456

每天一道编程题(一)----24点游戏

今天看了一道面试编程的关于24点游戏的,自己想了想,就写了以下的java代码,时间复杂度比较高,暂时还没有想到太好的方法,希望有人能提出更好地方法。 原题是让随机生成4个数,这四个数大于1小于14,...
  • wyj880220
  • wyj880220
  • 2012年02月17日 16:38
  • 1255

算24点游戏规则及技巧攻略

首先我们来了解24点游戏的概念。  “算24点”是一种数学游戏,正如象棋、围棋一样是一种人们喜闻乐见的娱乐活动。 它始于何年何月已无从考究,但它以自己独具的数学魅力和丰富的内涵正逐渐被越来越多的...
  • zhisheng1
  • zhisheng1
  • 2016年12月01日 09:41
  • 376
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:24点游戏探秘系列6:用概率统计的眼光看24点游戏
举报原因:
原因补充:

(最多只允许输入30个字)