原文地址:www.ciphermagic.cn/programmer-…
《程式設計師的數學》這本書,除了前兩章介紹數學的基本概念外,其它章節主要通過思考題的方式,在解答過程中給我們講解數學知識和思維方式。所以看完整本書後,通過對思考題的不斷訓練 ,可以使我們串起書中的知識點,鞏固知識。為了便於日後的複習,這裡整理了書中絕大多數的思考題,內容舒適,請放心食用。
ps:答案只有結果,不包含解答過程。
// -================= Let's Begin =================
P64:今天是星期日,那麼100天以後是星期幾?
**答:**星期二。
P66:今天是星期日,那麼10^100天以後是星期幾?
**答:**星期四。
P70:1234567^987654321的個位數是什麼?
答: 7。
P71:棋子魔術
魔術師和他的徒弟在臺上表演,下面有3位觀眾。魔術師蒙著眼睛。 (1)桌上隨機排列著7個黑白棋的棋子(圖3-4)。魔術師蒙著眼睛,看不到棋子。
(2)魔術師的徒弟看完這7枚棋子之後,又往右面添了一枚棋子,與其他棋子並排,這時則有8枚棋子(圖3-5)。魔術師依然蒙著眼睛。 (3)這時觀眾可將其中的1枚棋子翻轉,或不翻轉任何棋子(圖3-6)。 (4)魔術師摘下眼罩,觀察8枚棋子,然後馬上就能說出“觀眾翻轉了棋子”或“沒有翻轉棋子”,識破觀眾的行為。 魔術師是如何識破觀眾的行為的呢?答: 徒弟在觀眾擺放的7枚棋子中,數出黑棋的個數。如果黑棋數是奇數,就添黑棋。如果黑棋數是偶數,就添白棋。不管哪種情況,在最終的8個棋子中,黑棋必為偶數個。 觀眾的行為可以是以下(1)~(3)三種情況之一。 (1)觀眾翻轉白旗。那麼,黑棋就增加了1枚,即黑棋變為奇數個。 (2)觀眾翻轉黑棋。那麼,黑棋就減少了1枚,黑棋也變為奇數個。 (3)觀眾不翻轉棋子。黑棋仍然是偶數個。 魔術師摘下眼罩,馬上數出黑棋的個數。如果黑棋為奇數個,就說“觀眾翻轉了棋子”。如果為偶數個,就說“沒有翻轉棋子”。 這裡,徒弟擺放棋子使“黑棋個數為偶數”。若使“黑棋個數為奇數”也可以,只要魔術師和徒弟事先商量好就行。
P74:尋找戀人
在一個小王國中,有8個村子(A~H)。如圖3-8所示,各個村子之間有道路相連(黑點表示村子,線表示道路)。而你要尋找流浪在這個王國的你唯一的戀人。 你的戀人住在8個村子中的某一個裡。她每過1個月便順著道路去另一個村子,每個月都一定會換村子,然而選擇哪個村子是隨機的,預測不了。例如,如果戀人這個月住在G村,那麼下個月就住在“C、F、H中的某個村子”。 目前你手頭上掌握的確鑿資訊只有:1年前(12個月前),戀人住在G村。請求出這個戀人住在A村的概率。
**答:**概率為0。
P77:鋪設草蓆
如圖3-11所示,有這樣一個房間。使用圖中右下角所示的草蓆能夠正好鋪滿房間嗎?前提是不能使用半張草蓆。
**答:**不能。
P79:哥尼斯堡七橋問題
在很久以前,有一個叫哥尼斯堡的小城。小城被河流分割成了4塊陸地。人們為了連線這些陸地,建設了7座橋(圖3-13)。
現在你要找出走遍7座橋的方法。但是,必須遵守以下條件:- 走過的橋不能再走。
- 可以多次經過同一塊陸地。
- 可以以任一塊陸地為起點。
- 不需要回到起點。
最後,如果能夠走遍7座橋的話,請說明一下方法。如果不能的話,也請說明一下。
答:
不能走遍哥尼斯堡七橋。P88:存錢罐的錢
在你面前有一個空存錢罐。
- 第 1 天,往存錢罐裡投入 1 元。存錢罐中總金額為 1 元。
- 第 2 天,往存錢罐裡投入 2 元。存錢罐中總金額為 1 + 2 = 3 元。
- 第 3 天,往存錢罐裡投入 3 元。存錢罐中總金額為 1 + 2 + 3 = 6 元。
- 第 4 天,往存錢罐裡投入 4 元。存錢罐中總金額為 1 + 2 + 3 + 4 = 10 元。
那麼,每天都這樣往存錢罐裡投入硬幣的話,第 100 天時的總金額為多少呢?
答: 5050元。
P99:黑白棋子的顏色
黑白棋一面是白色,一面是黑色。現在,我們往棋盤上隨便仍幾枚棋子。有時會碰巧都是白色或都是黑色。但有時既有白棋,也有黑棋。
使用數學歸納法可以“證明”投擲的黑白棋的顏色一定相同。然而現實中這卻是不可能的。 那麼,請找出下述“證明”中的錯誤之處。 假設n為1以上的整數,用數學歸納法證明以下斷言T(n)對於1以上的所有整數n都成立。- 斷言T(n):投擲n枚黑白棋,所有棋子的顏色一定相同。
步驟1:基地的證明 證明T(1)成立。 斷言T(1)即“投擲1枚黑白棋子時,所有棋子的顏色一定相同”。棋子只有1個,顏色當然只有1種,因此T(1)成立。 這樣,步驟1就得到了證明。
步驟2:歸納的證明 證明當k為1以上的任意整數時,“若T(k)成立,則T(k+1)也成立”。 首先假設“投擲k枚黑白棋子時,所有棋子的顏色一定相同”成立。現假設投擲k枚棋子後,再投擲一枚黑白棋。那麼投擲的棋子總數為k+1枚。 這裡,將投擲的棋子以每k枚為單位分為兩組,分別將這兩組稱為A和B(圖4-5)。
因為“投擲k枚黑白棋子時,所有棋子的顏色一定相同”的假設成立,所以A組的棋子(k枚)和B組的棋子(k枚),分別都是相同色。而通過圖4-5可見,兩組共有的棋子為k-1枚。因為各組的棋子顏色相同,又有兩組共有的棋子,所有k+1枚棋子顏色相同。這就是斷言T(k+1)。 這樣,步驟2就得到了證明。 通過數學歸納法,證明了斷言T(n)對於1以上的所有整數n都成立。這個證明有什麼不對的地方呢?答: 步驟1沒有問題。若棋子只有1枚,那麼就只有1種顏色。 問題在步驟2的圖(圖4-5)中。實際上,該圖在k=1時不成立。k=1時,兩組棋子分別都只有1枚。雙方共有的棋子為k-1枚,而k-1=0,所有不存在同屬於兩個組的棋子(圖4-6)。
因此在數學歸納法的兩個步驟中,步驟2是無法得到證明的。P111:植樹問題
在10米長的路上,從路的一端起每隔1米種一棵樹,那麼需要種多少顆樹?
答: 11棵。
P112:最後的編號
記憶體中排列著程式要處理的100個資料。從第1個開始順次編號為0號、1號、2號、3號......那麼,最後1個資料的編號是多少?
答: 99號。
P115:加法法則
在一副撲克牌中,有10張紅桃數字牌(A、2、3、4、5、6、7、8、9、10),3張紅桃花牌(J、Q、K)。那麼紅桃共有多少張?
答: 13張。
P115:控制亮燈的撲克牌
在一副撲克牌中,有13個級別(A、2、3、4、5、6、7、8、9、10、J、Q、K)。這裡,我們分別將A、J、Q、K設為整數1、11、12、13。
在你面前有一個裝置,只要往裡面放入1張牌,它就會根據牌的級別控制燈泡的亮滅。我們假設放入的撲克牌的級別為n(1~13的整數),- 若n是2的倍數,則亮燈。
- 若n是3的倍數,也亮燈。
- 若n既不是2的倍數,也不是3的倍數,則滅燈。
往這個裝置中依次放入13張紅桃,其中亮燈的有多少張牌呢?
答: 8張。
P117:乘法法則
在一副撲克牌中,有紅桃、黑桃、方片、梅花四種花色。每個花色都有A、2、3、4、5、6、7、8、9、10、J、Q、K這13個等級。那麼,一副撲克牌共有多少張?(這裡除去王牌)
答: 52張。
P119:3個骰子
將3個寫有數字1到6的骰子並列放置,形成一個3位數,共能形成多少個數字?
答: 216個。
P120:32個燈泡
1個燈泡有亮和滅2種狀態。若將32個這樣的燈泡排成一排,則共有多少種亮滅模式。
答: 4294967296種。
P121:3張牌的置換
如果將A、B、C這3張牌按照ABC、ACB、BAC......等順序排列,那麼共有多少種排法?
答: 6種。
P123:撲克牌的置換
將一副撲克牌裡的52張(不包括王牌)擺成一列,共有多少種擺法?
答: 52!(52的階乘)
P125:從5張撲克牌中取出3張進行排列
你現在手上持有A、B、C、D、E共5張牌。要從這5張牌中取出3張牌進行排列。請問有多少種排法?
答: 60種。
P134:藥品調劑
現假設要將顆粒狀的藥品調劑成一種新藥。藥品有A、B、C三種。新藥調劑規則如下。
- 從A、B、C這3種藥品中,共取100粒進行調劑。
- 調劑時,A、B、C這3種藥品每種至少有1粒。
- 不考慮藥品調劑的順序。
- 同種藥品每粒都相同。
這種情況下,新藥調劑的組合共有多少種?
答: 4851種
P136:至少有一端是王牌
現在有5張撲克牌,其中王牌2張,J、Q、K各1張。將5張牌排成一排,左端或右端至少有一端是王牌的排法有多少種?(不區分大小王牌)
答: 42種。