1. 程式人生 > >2018.10.1 邏輯題訓練

2018.10.1 邏輯題訓練

1.9 想想 事件 怎麽 證明 策略 公式 推出 自己的

現在共有100匹馬跟100塊石頭,馬分3種,大型馬;中型馬跟小型馬。其中一匹大馬一次可以馱3塊石頭,中型馬可以馱2塊,而小型馬2頭可以馱一塊石頭。問需要多少匹大馬,中型馬跟小型馬?(問題的關鍵是剛好必須是用完100匹馬).

解:設大型馬有x匹,中型馬有y匹,小型馬有z匹,
根據題意可得:
    x+y+x=100?①
    3x+2y+ 12z=100②,


 ②×2-①得:5x+3y=100,

所以有y= 100-5x3 ,
因為x、y必須是正整數,
所以有:  x=17    y=5    z=78                  x=14   y=10  z=76 ,x=11  y=15  z=74 ,     x=8  y=20  z=72 ,     x=5  y=25  z=70 ,       x=2  y=30  z=68 ,


答:可能有:大型馬17匹、5匹中型馬,78匹小型馬;
大型馬14匹、10匹中型馬,76匹小型馬;
大型馬11匹、15匹中型馬,74匹小型馬;
大型馬8匹、20匹中型馬,72匹小型馬;
大型馬5匹、25匹中型馬,70匹小型馬;
大型馬2匹、30匹中型馬,68匹小型馬;

假設有一個池塘,裏面有無窮多的水。現有2個空水壺,容積分別為5升和6升。問題是如何只用這2個水壺從池塘裏取得3升的水。

  答:由滿6向空5倒,剩1升,把這1升倒5裏,然後6剩滿,倒5裏面,由於5裏面有1升水,因此6只能向5倒4升水,然後將6剩余的2升,倒入空的5裏面,再灌滿6向5裏倒3升,剩余3升。

周雯的媽媽是豫林水泥廠的化驗員。一天,周雯來到化驗室做作業。做完後想出去玩。"等等,媽媽還要考你一個題目,"她接著說,"你看這6只做化驗用的玻璃杯,前面3只盛滿了水,後面3只是空 的。你能只移動1只玻璃杯,就便盛滿水的杯子和空杯子間隔起來嗎?"愛動腦筋的周雯,是學校裏有名的"小機靈",她只想了一會兒就做到了。請你想想看,"小機靈"是怎樣做的?

  答:設杯子編號為ABCDEF,ABC為滿,DEF為空,把B中的水倒進E中即可。

三個小夥子同時愛上了一個姑娘,為了決定他們誰能娶這個姑娘,他們決定用手槍進行一次決鬥。小李的命中率是30%,小黃比他好些,命中率是50%,最出色的槍手是小林,他從不失誤,命中率 是100%。由於這個顯而易見的事實,為公平起見,他們決定按這樣的順序:小李先開槍,小黃第二,小林最後。然後這樣循環,直到他們只剩下一個人。那麽這三個人中誰活下來的機會最大呢?他們都 應該采取什麽樣的策略?

  答:小林在輪到自己且小黃沒死的條件下必殺黃,再跟菜鳥李單挑。所以黃在林沒死的情況下必打林,否則自己必死。  小李經過計算比較(過程略),會決定自己先打小林。於是經計算,小李有873/2600≈33.6%的生機;

  小黃有109/260≈41.9%的生機;小林有24.5%的生機。哦,這樣,那小李的第一槍會朝天開,以後當然是打敵人,誰活著打誰;

  小黃一如既往先打林,小林還是先幹掉黃,冤家路窄啊!最後李,黃,林存活率約38:27:35;

  菜鳥活下來抱得美人歸的幾率大。
  李先放一空槍(如果合夥幹中林,自己最吃虧)黃會選林打一槍(如不打林,自己肯定先玩完了)林會選黃打一槍(畢竟它命中率高)李黃對決0.3:0.28 0.4可能性李林對決0.3:0.60.6可能性成功率0.73

  李和黃打林李黃對決0.3:0.40.7*0.4可能性李林對決0.3:0.7*0.6*0.70.7*0.6可能性成功率0.64

一間囚房裏關押著兩個犯人。每天監獄都會為這間囚房提供一罐湯,讓這兩個犯人自己來分。起初,這兩個人經常會發生爭執,因為他們總是有人認為對方的湯比自己的多。後來他們找到了一個兩 全其美的辦法:一個人分湯,讓另一個人先選。於是爭端就這麽解決了。可是,現在這間囚房裏又加進來一個新犯人,現在是三個人來分湯。必須尋找一個新的方法來維持他們之間的和平。該怎麽辦呢 ?註:心理問題,不是邏輯問題。


  答:讓甲分湯,分好後由乙和丙按任意順序給自己挑湯,剩余一碗留給甲。這樣乙和丙兩人的總和肯定是他們兩人可拿到的最大。然後將他們兩人的湯混合之後再按兩人的方法再次分湯。

 五個大小相同的一元人民幣硬幣。要求兩兩相接觸,應該怎麽擺?

  答:底下放一個1,然後2 3放在1上面,另外的4 5豎起來放在1的上面。

 在一張長方形的桌面上放了n個一樣大小的圓形硬幣。這些硬幣中可能有一些不完全在桌面內,也可能有一些彼此重疊;當再多放一個硬幣而它的圓心在桌面內時,新放的硬幣便必定與原先某些硬 幣重疊。請證明整個桌面可以用4n個硬幣完全覆蓋。

  答:要想讓新放的硬幣不與原先的硬幣重疊,兩個硬幣的圓心距必須大於直徑。也就是說,對於桌面上任意一點,到最近的圓心的距離都小於2,所以,整個桌面可以用n個半徑為2的硬幣覆蓋。  把桌面和硬幣的尺度都縮小一倍,那麽,長、寬各是原桌面一半的小桌面,就可以用n個半徑為1的硬幣覆蓋。那麽,把原來的桌子分割成相等的4塊小桌子,那麽每塊小桌子都可以用n個半徑為1的硬幣覆 蓋,因此,整個桌面就可以用4n個半徑為1的硬幣覆蓋。

一個球、一把長度大約是球的直徑2/3長度的直尺。你怎樣測出球的半徑?方法很多,看看誰的比較巧妙

猜牌問題S先生、P先生、Q先生他們知道桌子的抽屜裏有16張撲克牌:紅桃A、Q、4黑桃J、8、4、2、7、3草花K、Q、5、4、6方塊A、5。約翰教授從這16張牌中挑出一張牌來,並把這張牌的點數告 訴P先生,把這張牌的花色告訴Q先生。這時,約翰教授問P先生和Q先生:你們能從已知的點數或花色中推知這張牌是什麽牌嗎?於是,S先生聽到如下的對話:P先生:我不知道這張牌。Q先生:我知道你 不知道這張牌。P先生:現在我知道這張牌了。Q先生:我也知道了。聽罷以上的對話,S先生想了一想之後,就正確地推出這張牌是什麽牌。請問:這張牌是什麽牌?

  答:方塊5

一個教授邏輯學的教授,有三個學生,而且三個學生均非常聰明!一天教授給他們出了一個題,教授在每個人腦門上貼了一張紙條並告訴他們,每個人的紙條上都寫了一個正整數,且某兩個數的和 等於第三個!(每個人可以看見另兩個數,但看不見自己的)教授問第一個學生:你能猜出自己的數嗎?回答:不能,問第二個,不能,第三個,不能,再問第一個,不能,第二個,不能,第三個:我 猜出來了,是144!教授很滿意的笑了。請問您能猜出另外兩個人的數嗎?

  答:經過第一輪,說明任何兩個數都是不同的。第二輪,前兩個人沒有猜出,說明任何一個數都不是其它數的兩倍。現在有了以下幾個條件:1.每個數大於02.兩兩不等3.任意一個數不是其他數的兩倍。 每個數字可能是另兩個之和或之差,第三個人能猜出144,必然根據前面三個條件排除了其中的一種可能。假設:是兩個數之差,即x-y=144。這時1(x,y>0)和2(x!=y)都滿足,所以要否定x+y 必然要使3不滿足,即x+y=2y,解得x=y,不成立(不然第一輪就可猜出),所以不是兩數之差。因此是兩數之和,即x+y=144。同理,這時1,2都滿足,必然要使3不滿足,即x-y=2y,兩方程聯立 ,可得x=108,y=36。  這兩輪猜的順序其實分別為這樣:第一輪(一號,二號),第二輪(三號,一號,二號)。這樣分大家在每輪結束時獲得的信息是相同的(即前面的三個條件)。

  那麽就假設我們是C,來看看C是怎麽做出來的:C看到的是A的36和B的108,因為條件,兩個數的和是第三個,那麽自己要麽是72要麽是144(猜到這個是因為72的話,108就是36和72的和,144的話就是 108和36的和。這樣子這句話看不懂的舉手):
  假設自己(C)是72的話,那麽B在第二回合的時候就可以看出來,下面是如果C是72,B的思路:這種情況下,B看到的就是A的36和C的72,那麽他就可以猜自己,是36或者是108(猜到這個是因為36的話 ,36加36等於72,108的話就是36和108的和):

  如果假設自己(B)頭上是36,那麽,C在第一回合的時候就可以看出來,下面是如果B是36,C的思路:這種情況下,C看到的就是A的36和B的36,那麽他就可以猜自己,是72或者是0(這個不再解釋了) :

  如果假設自己(C)頭上是0,那麽,A在第一回合的時候就可以看出來,下面是如果C是0,A的思路:這種情況下,A看到的就是B的36和C的0,那麽他就可以猜自己,是36或者是36(這個不再解釋了), 那他可以一口報出自己頭上的36。(然後是逆推逆推逆推),現在A在第一回合沒報出自己的36,C(在B的想象中)就可以知道自己頭上不是0,如果其他和B的想法一樣(指B頭上是36),那麽C在第一回 合就可以報出自己的72。現在C在第一回合沒報出自己的36,B(在C的想象中)就可以知道自己頭上不是36,如果其他和C的想法一樣(指C頭上是72),那麽B在第二回合就可以報出自己的108。現在B在 第二回合沒報出自己的108,C就可以知道自己頭上不是72,那麽C頭上的唯一可能就是144了。

 某城市發生了一起汽車撞人逃跑事件,該城市只有兩種顏色的車,藍15%綠85%,事發時有一個人在現場看見了,他指證是藍車,但是根據專家在現場分析,當時那種條件能看正確的可能性是80%那麽 ,肇事的車是藍車的概率到底是多少?

  答:15%*80%/(85%×20%+15%*80%)

 有一人有240公斤水,他想運往幹旱地區賺錢。他每次最多攜帶60公斤,並且每前進一公裏須耗水1公斤(均勻耗水)。假設水的價格在出發地為0,以後,與運輸路程成正比,(即在10公裏處為10 元/公斤,在20公裏處為20元/公斤……),又假設他必須安全返回,請問,他最多可賺多少錢?

  答:f(x)=(60-2x)*x,當x=15時,有最大值450。450×4

  1=5,2=15,3=215,4=2145那麽5=?

  答:因為1=5,所以5=1.

 有2n個人排隊進電影院,票價是50美分。在這2n個人當中,其中n個人只有50美分,另外n個人有1美元(紙票子)。愚蠢的電影院開始賣票時1分錢也沒有。問:有多少種排隊方法使得每當一個擁 有1美元買票時,電影院都有50美分找錢。註:1美元=100美分擁有1美元的人,擁有的是紙幣,沒法破成2個50美分

  答:本題可用遞歸算法,但時間復雜度為2的n次方,也可以用動態規劃法,時間復雜度為n的平方,實現起來相對要簡單得多,但最方便的就是直接運用公式:排隊的種數=(2n)!/[n!(n+1)!]。

2018.10.1 邏輯題訓練