筆試的時候碰到一道題, 死活不得其解, 後來看了知乎的乙個解答才茅塞頓開;
有未知數量香蕉一堆, 有m只猴子, 第一只猴子來了之後, 把香蕉分為5堆, 剛好多1個, 於是它吃掉1個, 拿走其中一堆; 第二隻猴子來了之後, 同樣把香蕉分5堆, 剛好多乙個, 於是它吃掉1個, 拿走其中一堆; 剩餘猴子依次到來, 做同樣的操作; 問這堆香蕉至少有多少個?
暴力解: 設定香蕉初始值為1, 看是否滿足同樣的m次操作; 由於m可能非常大, 通常會超時;
分析數學解: 因為每個猴子都將香蕉分為5堆+1個, 那麼, 如果我們給它們借4個香蕉, 會發生什麼呢?
香蕉變為了5堆+5個, 那麼一分為5, 就是1堆+1個, 此時猴子每次拿走的香蕉數量不變, 但是每次都能夠剛好被5整除.
這樣的話, 就有了這樣的關係, n+4至少能被5整除m次:
n +4
=5k;
k>=m
;n+4 = 5^k; k>=m;
n+4=5k
;k>=m
;n 最小為5m−
45^m-4
5m−4
;m = 1時, n = 5-4=1
m = 2時, n =25-4=1
m = 3時, n=125-4=1
猴子分桃問題
五隻猴子分桃。半夜,第一只猴子先起來,它把桃分成了相等的五堆,多出乙隻。於是,它吃掉了乙個,拿走了一堆 第二隻猴子起來一看,只有四堆桃。於是把四堆合在一起,分成相等的五堆,又多出乙個。於是,它也吃掉了乙個,拿走了一堆 其他幾隻猴子也都是 這樣分的。問 這堆桃至少有多少個?設桃子總數為s,第一只猴子分...
猴子分桃問題
5只猴子分一堆桃子,怎麼也不能分成5等份,只好先去睡覺,準備第二天再分。夜裡1只猴子偷偷爬起來,先吃掉1個桃子,然後將其分成5等份,藏起自己的乙份就去睡覺了 第2只猴子又爬起來,吃掉1個桃子後,也將桃子分成5等分,藏起自己的乙份睡覺去了 以後的3只猴子都先後照此辦理。問最初至少有多少個桃子?倒過來想...
猴子分桃問題
5只猴子分一堆桃子,怎麼也不能分成5等份,只好先去睡覺,準備第二天再分。夜裡1只猴子偷偷爬起來,先吃掉1個桃子,然後將其分成5等份,藏起自己的乙份就去睡覺了 第2只猴子又爬起來,吃掉1個桃子後,也將桃子分成5等分,藏起自己的乙份睡覺去了 以後的3只猴子都先後照此辦理。問最初至少有多少個桃子?倒過來想...