數學回味系列之13 殺豬問題

2021-07-27 11:50:52 字數 643 閱讀 1913

問題提出:

有 n 頭豬 和 乙個**的屠夫;

屠夫就喜歡殺單數字置上的豬,一次殺完之後,將剩下的豬按照原來的相對位置,重新排列;

按照約定,最後一頭豬(取名lucky)將會被送到教堂,這是神的旨意。

請問,最聰明的豬應該站在哪個位置,才能成為這個幸運兒?

解題思路:

分析這個問題,我們發現,奇數字是危險的,每一輪的偶數字是安全的。

根據二分的思路,如果盡量保證每次都是偶數字,機率最大。

看下面的例子:

1  2  3  4  5  6  7  8  9  10

2  4  6  810

4  8

這裡面有個關鍵的點,就是2^k,選擇裡面最大的 2的 k 次方 項,能夠最多次被 2 除,也就是說會最後乙個變成奇數。

看**:

/* linolzhang 2009.02 

lucky pig

*/#include int luckypig(int n)

int main(int argc, char** argv)

return 0;

}

數學回味系列之3 賽馬問題

問題提出 共有25匹馬,有乙個賽場,賽場有5個賽道,就是說最多同時可以有5匹馬一起比賽。假設每匹馬都跑的很穩定 可多次比賽 只通過馬與馬之間的比賽,沒有計時器,試問,最少需要多少場比賽才能知道跑得最快的3匹馬?解題思路 根據題目,我們首先想到的就是 1 隨機分成5組,各5匹馬,5場比賽得到 各組第1...

數學回味系列之4 開燈關燈問題

問題提出 有編號1 100個燈泡,起初所有的燈都是滅的。有100個同學來按燈泡開關,如果燈是亮的,那麼按過開關之後,燈會滅掉。如果燈是滅的,按過開關之後燈會亮。現在開始按開關。第1個同學,把所有的燈泡開關都按一次 按開關燈的編號 1,2,3,100 第2個同學,隔乙個燈按一次 按開關燈的編號 2,4...

數學回味系列之10 高樓扔雞蛋

問題提出 有座100層的建築,雞蛋從某一層扔下來有可能摔碎 可能是,也可能是 你手上有兩個軟硬程度一樣的雞蛋,要判斷出來哪一層是雞蛋可以安全落下的最高位置。最少需要扔多少次?解題思路 最笨的方法,從1層開始,每層都扔1次,直到摔碎 為止,得到當前當前層數 n。最差需要100次 好像只需要乙個雞蛋就夠...