有一天 Kevin 走在路上,隨手摘了一顆路邊樹上的橘子 當他正準備咬下去時,忽然一個瞬間他停了下來 一看不得了,這顆橘子裡面竟然有 N 片橘子! 這讓 Kevin 很苦惱,因為他昨天看到電視上說人一天只需要吃 M 片橘子就能攝取到足夠的營養 他不想要獨享這顆橘子,他希望能讓越多的人能至少吃到 M 片橘子 但是由於 Kevin 走在路上甚麼都沒帶,因此他每次只能將橘子分成兩半
例如若要分一顆有 N 片的橘子 當 N 為偶數,則 Kevin 會將其分成 N/2 和 N/2 兩堆 當 N 為奇數,則 Kevin 會將其分成 (N-1)/2 和 (N+1)/2 兩堆
intmain() { registerdoublelog; int n, k, max; while (scanf(" %d %d", &k, &n) == 2) { log = 0, max = n < k - n ? n : k - n; for (int i = 0; i < max; i++) log += log10(k - i) - log10(i + 1); printf("%d\n", (int)log + 1); } return0; }
這天,小紫正好與波路特石在討論數學。 「欸欸,這個『甚根定理』是什麼東西啊?」 小紫對波路特石提出了疑問。 「ㄜ……那個是『勘』根定理。」 波路特石無奈地回應。 「沒差啦,我問你這個是什麼意思!」 「……」波路特石儘管感到很頭痛,但還是繼續解釋了下去:「勘根定理的概念其實很簡單,就是在講『當一個連續的函數 f(x)滿足 f(a)×f(b)<0 的時候,必可以在 a 和 b 之間找到至少一個根滿足 f(x)=0』,順帶一提,a、b 是實數。」 「為什麼?」 針對小紫再次的提問,波路特石在紙上畫出了一個直角座標,並在 x 軸的上方和下方各點出了一個點。 「因為我已經給出了『函數是連續的』這個條件,也就是說這個函數必不會間斷……你應該知道當 y 是 x 的函數,一個 x 最多只能對應到一個 y 吧?」 「知道。」 「好,那你模擬看看,假設你今天要從下面這個點,走到上面這個點,並且你的路徑一定要是連續的,又不能繞出去這兩點之間,請問你有辦法不經過 x 軸就到達上面的點嗎?」 「當然不能啊!」小紫在反駁波路特石的剎那間忽然靈光一閃、恍然大悟: 「我懂了!所以在上面這個點和下面這個點之間一定會經過 x 軸,也就是 f(x)=0 的解嘛!」 「沒錯,這樣你應該就懂了。」 「謝謝!」