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