百度百科—24点 - 推理及计算 我爱数学网-数学爱好者的家园-中国专业化的数学论坛之一

我爱数学网-数学爱好者的家园-中国专业化的数学论坛之一

查看: 4102|回复: 33

[24点] 百度百科—24点

[复制链接]

30

主题

55

帖子

9298

积分

版主

Rank: 7Rank: 7Rank: 7

积分
9298
发表于 2014-9-15 15:09:47 | 显示全部楼层 |阅读模式
本帖最后由 东方老师 于 2014-9-25 16:24 编辑

百度百科—24
它始于何年何月已无从考究,但它以自己独具的数学魅力和丰富的内涵正逐渐被越来越多的人们所接受。这种游戏方式简单易学,能健脑益智,是一项极为有益的活动。
1游戏梗概
24点是一种益智游戏,24点是把4个整数(一般是正整数)通过加减乘除以及括号运算,使最后的计算结果是24的一个数学游戏,24点可以考验人的智力和数学敏感性,它能在游戏中提高人们的心算能力。
24点通常是使用扑克牌来进行游戏的,一副牌中抽去大小王后还剩下52张(如果初练也可只用1~10这40张牌),任意抽取4张牌(称为牌组),用加、减、乘、除(可加括号)把牌面上的数算成24。每张牌必须只能用一次,如抽出的牌是3、8、8、9,那么算式为(9-8)×8×3或3×8÷(9-8)或(9-8÷8)×3等。
游戏技巧
“算24点”作为一种扑克牌智力游戏,应注意计算中的技巧问题。比如,计算时,不能够把牌面上的4个数的不同组合形式一一去试,更不能瞎碰乱凑。这里向大家介绍几种常用的、便于学习掌握的方法:
1.利用3×8=24、4×6=24 、12×2=24求解。
把牌面上的四个数想办法凑成3和8、4和6、12和2再相乘求解。如3、3、6、10可组成(10-6÷3)×3=24或(10-3-3)×6=24。又如2、3、3、7可组成(7+3-2)×3=24等。实践证明,这种方法是利用率最大、命中率最高的一种方法。
2.利用0、1的运算特性求解。
如3、4、4、8可组成3×8+4—4=24等。又如4、5、J、K可组成11×(5—4)+13=24等。
3.在有解的牌组中,用得最为广泛的是以下六种解法:(在这里用a、b、c、d表示牌面上的四个数)
①(a—b)×(c+d)
如(10—4)×(2+2)=24等。
②(a+b)÷c×d
如(10+2)÷2×4=24等。
③(a-b÷c)×d
如(3—2÷2)×12=24等。
④(a+b-c)×d
如(9+5—2)×2=24等。
⑤a×b+c—d
如11×3+l—10=24等。
⑥(a-b)×c+d
如(4—l)×6+6=24等。
2算法
利用计算程序来完成这个计算二十四点的程序
方法如下:
首先穷举的可行性问题。把表达式如下分成三类——
1、 无括号的简单表达式
2、 有一个括号的简单表达式。
3、 有两个括号的较复杂表达式
在栈中,元素的插入称为压入(push)或入栈,元素的删除称为弹出(pop)或退栈。
栈的基本运算有三种,其中包括入栈运算、退栈运算以及读栈顶元素,这些请参考相关数据结构资料。根据这些基本运算就可以用数组模拟出栈来。
那么作为栈的著名应用,表达式的计算可以有两种方法。
第一种方法:
首先建立两个栈,操作数栈OVS和运算符栈OPS。其中,操作数栈用来记忆表达式中的操作数,其栈顶指针为topv,初始时为空,即topv=0;运算符栈用来记忆表达式中的运算符,其栈顶指针为topp,初始时,栈中只有一个表达式结束符,即topp=1,且OPS(1)=‘;’。此处的‘;’即表达式结束符。
然后自左至右的扫描待处理的表达式,并假设当前扫描到的符号为W,根据不同的符号W做如下不同的处理:
1、 若W为操作数
2、 则将W压入操作数栈OVS
3、 且继续扫描下一个字符
4、 若W为运算符
5、 则根据运算符的性质做相应的处理:
6、若运算符为左括号或者运算符的优先级大于运算符栈栈顶的运算符(即OPS(top)),则将运算符W压入运算符栈OPS,并继续扫描下一个字符。
7、若运算符W为表达式结束符‘;’且运算符栈栈顶的运算符也为表达式结束符(即OPS(topp)=’;’),则处理过程结束,此时,操作数栈栈顶元素(即OVS(topv))即为表达式的值。
8、若运算符W为右括号且运算符栈栈顶的运算符为左括号(即OPS(topp)=’(‘),则将左括号从运算符栈谈出,且继续扫描下一个符号。
9、若运算符的右不大于运算符栈栈顶的运算符(即OPS(topp)),则从操作数栈OVS中弹出两个操作数,设先后弹出的操作数为a、b,再从运算符栈OPS中弹出一个运算符,设为+,然后作运算a+b,并将运算结果压入操作数栈OVS。本次的运算符下次将重新考虑。
第二种方法:
首先对表达式进行线性化,然后将线性表达式转换成机器指令序列以便进行求值。
那么什么是表达式的线性化呢?人们所习惯的表达式的表达方法称为中缀表示。中缀表示的特点是运算符位于运算对象的中间。但这种表示方式,有时必须借助括号才能将运算顺序表达清楚,而且处理也比较复杂。
1929年,波兰逻辑学家Lukasiewicz提出一种不用括号的逻辑符号体系,后来人们称之为波兰表示法(Polish notation)。波兰表达式的特点是运算符位于运算对象的后面,因此称为后缀表示。在对波兰表达式进行运算,严格按照自左至右的顺序进行。下面给出一些表达式及其相应的波兰表达式。
表达式波兰表达式
A-B AB-
OK,所谓表达式的线性化是指将中缀表达的表达式转化为波兰表达式。对于每一个表达式,利用栈可以把表达式变换成波兰表达式,也可以利用栈来计算波兰表达式的值。
至于转换和计算的过程和第一种方法大同小异,这里就不再赘述了。
下面给出转换和计算的具体实现程序——
这样这个程序基本上就算解决了,回过头来拿这个程序来算一算文章开始的那个问题。很快就算出来了,原来如此简单——(6-3)*10-6=24。
3例题
例题1:
3388:解法8/(3-8/3)=24 按第一种方法来算,假如有8就先找3,这里可能有人会问这里面并没有3,其实除以1/3,就是乘3.
例题2:
5551:解法5*(5-1/5) 这道题型比较特殊,5*4.8算是比较少见,一般的简便算法都是3*8,2*12,4*6,15+9,25-1,但5*4.8也是其中一种
一般情况下,先要看4张牌中是否有2,3,4,6,8,Q,
如果有,考虑用乘法,将剩余的3个数凑成对应数。如果有两个相同的6,8,Q,比如已有两个6,剩下的只要能凑成3,4,5都能算出24,已有两个8,剩下的只要能凑成2,3,4,已有两个Q,剩下的只要能凑成1,2,3都能算出24,比如(9,J,Q,Q)。如果没有2,3,4,6,8,Q,看是否能先把两个数凑成其中之一。总之,乘法是很重要的,24是30以下因数最多的整数。
(2)将4张牌加加减减,或者将其中两数相乘再加上某数,相对容易。
(3)先相乘再减去某数,有时不易想到。例如(4,10,10,J)
(6,10,10,K)
(4)必须用到乘法,且在计算过程中有分数出现。有一个规律,设4个数为a,b,c,d。必有ab+c=24或ab-c=24 d=a或b。若d=a 有a(b+c/a)=24 或 a(b-c/a)=24 如最常见的(1,5,5,5),
(2,5,5,10)因为约分的原因也归入此列。(5,7,7,J)
(4,4,7,7)(3,3,7,7)等等。(3,7,9,K)是个例外,可惜还有另一种常规方法,降低了难度。只能用此法的只有10个。
(5)必须用到除法,且在计算过程中有分数出现。这种比较难,比如(1,4,5,6),(3,3,8,8)(1,8,Q,Q)等等。
只能用此法的更少,只有7种。
(6)必须用到除法,且在计算过程中有较大数出现,不过有时可以利用平方差公式或提公因数等方法不必算出这个较大数具体等于几。比如(3,5,7,K),(1,6,J,K)等等。只能用此法的只有16种。
(7)最特殊的是(6,9,9,10),9*10/6+9=24,9是3的倍数,10是2的倍数,两数相乘的积才能整除6,再也找不出第二个类似的只能用此法解决的题目了。
需要说明的是:经计算机准确计算,一副牌(52张)中,任意抽取4张可有1820种不同组合,其中有458个牌组算不出24点,如A、A、A、5。 有1362个牌组算得出24点。
当然在一些喜欢数学的玩家而言,组合中部分无法计算出24点的组合:如之前举出的如:A、A、A、5, 2、3、3、5, 可以通过幂次方的方式计算得出24点。
例题3: A、A、A、5
计算方法:5的2次方减1 (要点:A+A=2)
例题4: 2、3、3、5
计算方法一 3的2次方加15(要点:3*5等于15)
计算方法二 5的2次方减1 (要点:3/3=1)
计算方法三 3的3次方减3 (要点:5-2=3)
一些24点的题目:
3377:3除以7加三的和乘七
8583 8813 10 753。。。。。。

24点.pdf

539.04 KB, 下载次数: 240

24点

回复

使用道具 举报

6

主题

31

帖子

156

积分

小学一年级

Rank: 2Rank: 2

积分
156
发表于 2014-9-18 10:29:42 | 显示全部楼层
好资料,谢谢分享
数学就是寻找和提取规律的学问
回复

使用道具 举报

0

主题

20

帖子

194

积分

小学一年级

Rank: 2Rank: 2

积分
194
发表于 2014-9-18 12:41:38 | 显示全部楼层
好资料
回复

使用道具 举报

0

主题

44

帖子

235

积分

小学二年级

Rank: 2Rank: 2

积分
235
发表于 2014-10-14 17:53:44 | 显示全部楼层
O(∩_∩)O谢谢!
[发帖际遇]: 极旋风 乐于助人,奖励 7 贡献. 幸运榜 / 衰神榜
回复

使用道具 举报

0

主题

7

帖子

66

积分

幼儿园

Rank: 1

积分
66
发表于 2014-10-25 21:08:39 | 显示全部楼层

谢谢你, 数学真有意思
回复

使用道具 举报

0

主题

158

帖子

554

积分

小学四年级

Rank: 3

积分
554
发表于 2014-11-3 11:45:12 | 显示全部楼层
学习了!
回复

使用道具 举报

0

主题

14

帖子

170

积分

小学一年级

Rank: 2Rank: 2

积分
170
发表于 2014-11-14 14:51:16 | 显示全部楼层
谢谢分享!
[发帖际遇]: 归雁南翔 发帖时在路边捡到 4 金币,偷偷放进了口袋. 幸运榜 / 衰神榜
回复

使用道具 举报

0

主题

180

帖子

674

积分

小学四年级

Rank: 3

积分
674
发表于 2014-11-30 10:57:57 | 显示全部楼层
强烈支持楼主ing……
回复

使用道具 举报

0

主题

180

帖子

674

积分

小学四年级

Rank: 3

积分
674
发表于 2014-11-30 12:12:15 | 显示全部楼层
真是难得给力的帖子啊。
回复

使用道具 举报

1

主题

38

帖子

261

积分

小学二年级

Rank: 2Rank: 2

积分
261
发表于 2014-11-30 13:44:50 | 显示全部楼层
太好的资料了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc

关于我们 | 网站地图 | 我爱数学网 ( 沪ICP备16005585号-3  

GMT+8, 2019-11-21 08:32 征信网

快速回复 返回顶部 返回列表