1. 24点游戏的巧妙算法谁有
利用计算程序来完成这个计算二十四点的程序[4]
方法如下:
首先穷举的可行性问题。把表达式如下分成三类——
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。
http://www.math15.com/compute/24.html 算不出看这个
2. 二十四点算法是什么
先取三个数,使它的结果为24,容易想到2×7+10=24,这样一来,由此构造一个带分数,使它含有2、7、10这个分数,2或这个带分数乘以7其结果为24,列式为(2+10÷7)×7=24
3. 24点的算法
这个题比较简单啦,请看下面去耍。
(4+6)÷5×12=24
4. 24点的算法技巧
1、利用3×8=24、4×6=24求解。
把牌面上的四个数想办法凑成3和8、4和6,再相乘求解。如3、3、6、10可组成(10—6÷3)×3=24等。又如2、3、3、7可组成(7+3—2)×3=24等。实践证明,这种方法是利用率最大、命中率最高的一种方法。
2、利用0、11的运算特性求解。
如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—1)×6+6=24等。
(4)24点算法扩展阅读
乘法是加法的简便运算,除法是减法的简便运算。
减法与加法互为逆运算,除法与乘法互为逆运算。
整数的加减法运算法则:
1、相同数位对齐;
2、从个位算起;
3、加法中满几十就向高一位进几;减法中不够减时,就从高一位退1当10和本数位相加后再减。
加法运算性质
从加法交换律和结合律可以得到:几个加数相加,可以任意交换加数的位置;或者先把几个加数相加再和其他的加数相加,它们的和不变。例如:34+72+66+28=(34+66)+(72+28)=200。
5. 24点游戏的巧妙算法,高分急求
因为 24=4*6=3*8=12*2=48/2
所以一般就会往这几个数字上面算
比如5,6,7,8
有8,就算个3出来,于是6/(7-5)=3
或者有6,就算个4出来,于是8/(7-5)=4
6. 24点算法
不可能行的。。除非用2楼的 次方方法。。
因为2×2×3小于24.。你怎么算。。。。。
你把1加哪都不行。。小于24.。
7. 24点算法诀窍
玩24点,得出24的法方通常都是3*8.4*6.12*2.全加.30-6.15+9.19+5.18+6.21+3最多,如4张牌有3.4.6.8的其中一张就用另外三张快速数出8.6.4.3来*如没就先记12*2.30-6.这几种简单的方法看到一眼不用一秒就能得出.如果没在用那几种吧`这样玩一定成高手.我玩几年了.
8. 小学生24点算法技巧
24点算法技巧就是要掌握两个数怎样加减乘除得24。加法就是1+23,2+22……减法就是25-1,28-4……乘法就是3x8,4x6,12x2,1x24,除法就是48÷2,72÷3……快速地将两个数两两结合,得出一个数字,再判定用什么方法。
9. 24点程序算法
Pascal算24的算法
http://..com/question/24935791.html?fr=qrl&cid=93&index=3&fr2=query