“巧算24點(diǎn)”的游戲內(nèi)容如下:一副牌中抽去大小王剩下52張,(如果初練也可只用1~10這40張牌)任意抽取4張牌(稱牌組),用加、減、乘、除(可加括號(hào))把牌面上的數(shù)算成24.每張牌必須用一次且只能用一次,如抽出的牌是3、8、8、9,那么算式為(9—8)×8×3或3×8+(9—8)或(9—8÷8)×3等.
“算24點(diǎn)”作為一種撲克牌智力游戲,還應(yīng)注意計(jì)算中的技巧問題.計(jì)算時(shí),我們不可能把牌面上的4個(gè)數(shù)的不同組合形式——去試,更不能瞎碰亂湊.這里向大家介紹幾種常用的、便于學(xué)習(xí)掌握的方法:
1.利用3×8=24、4×6=24求解.
把牌面上的四個(gè)數(shù)想辦法湊成3和8、4和6,再相乘求解.如3、3、6、10可組成(10—6÷3)×3=24等.又如2、3、3、7可組成(7+3—2)×3=24等.實(shí)踐證明,這種方法是利用率最大、命中率最高的一種方法.
2.利用0、11的運(yùn)算特性求解.
如3、4、4、8可組成3×8+4—4=24等.又如4、5、J、K可組成11×(5—4)+13=24等.
3.在有解的牌組中,用得最為廣泛的是以下六種解法:(我們用a、b、c、d表示牌面上的四個(gè)數(shù))
①(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等.
游戲時(shí),同學(xué)們不妨按照上述方法試一試.
需要說明的是:經(jīng)計(jì)算機(jī)準(zhǔn)確計(jì)算,一副牌(52張)中,任意抽取4張可有1820種不同組合,其中有458個(gè)牌組算不出24點(diǎn),如A、A、A、5.
◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
1、概述
給定4個(gè)整數(shù),其中每個(gè)數(shù)字只能使用一次;任意使用 + - * / ( ) ,構(gòu)造出一個(gè)表達(dá)式,使得最終結(jié)果為24,這就是常見的算24點(diǎn)的游戲.這方面的程序很多,一般都是窮舉求解.本文介紹一種典型的算24點(diǎn)的程序算法,并給出兩個(gè)具體的算24點(diǎn)的程序:一個(gè)是面向過程的C實(shí)現(xiàn),一個(gè)是面向?qū)ο蟮膉ava實(shí)現(xiàn).
2、基本原理
基本原理是窮舉4個(gè)整數(shù)所有可能的表達(dá)式,然后對(duì)表達(dá)式求值.
表達(dá)式的定義:expression = (expression|number) operator (expression|number)
因?yàn)槟苁褂玫?種運(yùn)算符 + - * / 都是2元運(yùn)算符,所以本文中只考慮2元運(yùn)算符.2元運(yùn)算符接收兩個(gè)參數(shù),輸出計(jì)算結(jié)果,輸出的結(jié)果參與后續(xù)的計(jì)算.
由上所述,構(gòu)造所有可能的表達(dá)式的算法如下:
(1) 將4個(gè)整數(shù)放入數(shù)組中
(2) 在數(shù)組中取兩個(gè)數(shù)字的排列,共有 P(4,2) 種排列.對(duì)每一個(gè)排列,
(2.1) 對(duì) + - * / 每一個(gè)運(yùn)算符,
(2.1.1) 根據(jù)此排列的兩個(gè)數(shù)字和運(yùn)算符,計(jì)算結(jié)果
(2.1.2) 改表數(shù)組:將此排列的兩個(gè)數(shù)字從數(shù)組中去除掉,將 2.1.1 計(jì)算的結(jié)果放入數(shù)組中
(2.1.3) 對(duì)新的數(shù)組,重復(fù)步驟 2
(2.1.4) 恢復(fù)數(shù)組:將此排列的兩個(gè)數(shù)字加入數(shù)組中,將 2.1.1 計(jì)算的結(jié)果從數(shù)組中去除掉
可見這是一個(gè)遞歸過程.步驟 2 就是遞歸函數(shù).當(dāng)數(shù)組中只剩下一個(gè)數(shù)字的時(shí)候,這就是表達(dá)式的最終結(jié)果,此時(shí)遞歸結(jié)束.
在程序中,一定要注意遞歸的現(xiàn)場(chǎng)保護(hù)和恢復(fù),也就是遞歸調(diào)用之前與之后,現(xiàn)場(chǎng)狀態(tài)應(yīng)該保持一致.在上述算法中,遞歸現(xiàn)場(chǎng)就是指數(shù)組,2.1.2 改變數(shù)組以進(jìn)行下一層遞歸調(diào)用,2.1.3 則恢復(fù)數(shù)組,以確保當(dāng)前遞歸調(diào)用獲得下一個(gè)正確的排列.
括號(hào) () 的作用只是改變運(yùn)算符的優(yōu)先級(jí),也就是運(yùn)算符的計(jì)算順序.所以在以上算法中,無需考慮括號(hào).括號(hào)只是在輸出時(shí)需加以考慮.
◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
我每天一下班整個(gè)晚上的時(shí)間都用于幫人解答疑難問題的!
贈(zèng)人玫瑰,手留余香!
用4張撲克牌,算24或21有什么竅門啊?
用4張撲克牌,算24或21有什么竅門啊?
其他人氣:837 ℃時(shí)間:2019-11-18 23:08:46
優(yōu)質(zhì)解答
我來回答
類似推薦
- 根據(jù)下面4張撲克牌上的點(diǎn)數(shù),經(jīng)過怎樣的運(yùn)算才能得到24呢?你試著說出3種以上的計(jì)算方法嗎?
- 下面是四張撲克牌上的點(diǎn)數(shù),經(jīng)過怎樣的運(yùn)算才能得到24呢?你能相處幾種方法?6,4,2,3
- 怎樣用連續(xù)的4張撲克牌算出24點(diǎn)
- 有四張撲克牌的點(diǎn)數(shù),經(jīng)過怎樣的運(yùn)算才能得到24呢?你能想出幾種方法?6 4 8 2
- 6.4.8.2四張撲克牌,怎樣運(yùn)算能得到24
- 大氣層是怎樣分層的?有多少層?每層密度怎樣?
- z=x^3y-3x^2y^3的二階偏導(dǎo)數(shù)
- ①已知a²+a-3=0 那么a²(a+4)的值是___
- 莎士比亞十四行詩哪些比較著名?
- 因?yàn)?/2×4/3×3/2=1,所以1/2、4/3、3/2三個(gè)數(shù)互為倒數(shù).
- 2011年4月1日泰國(guó)發(fā)生洪災(zāi),季風(fēng)來自太平洋還是印度洋?
- 1.25:x=2.5:8怎么解
猜你喜歡
- 1(25加4分之3)除以4分之1加4分之1,脫式計(jì)算
- 2Can A Chinese Young Lady Become An American Woman?
- 31.宇航員身穿沉重的宇航服,還能行走自如,可能是因?yàn)椋?/a>
- 4描寫春夏秋冬好詞好句
- 5英語翻譯
- 6簡(jiǎn)要廉頗和藺相如的故事 200字左右 好的話另加分
- 7伊紅美藍(lán)培養(yǎng)基是什么培養(yǎng)基
- 8德語怎么說 我覺得 我認(rèn)為 相當(dāng)于英語的I think
- 9(一減二分之一)(三分之一減一)(一減四分之一)(五分之一減一)……(2009分之1減1)(,一減2010分之一)
- 10扣取百分之20的手續(xù)費(fèi),你必須獲利50元,該定什么價(jià)格.
- 11a為和值時(shí)適合條件x+y=2a+1和x-y=3a-2的點(diǎn)(x,y)在二象限(第二象限上的點(diǎn)(x,y)滿足x<0 y>0)
- 12證明:兩條邊上的高相等的三角形是等腰三角形.