3 回答

TA貢獻(xiàn)1847條經(jīng)驗 獲得超7個贊
這個問題的遞歸似乎有點矯枉過正,所以我建議另一種數(shù)學(xué)方法。
讓我們從我們總是至少吃 X 個蘋果的事實開始。真正的問題是在所有東西都吃完后總共會添加多少蘋果。
假設(shè) ni 將是 i “吃”后剩余的蘋果數(shù)量。然后:
n0 = X
n1 = X - Y + 1
n2 = X - 2Y + 2
...
ni = X - i(Y - 1)
求解 ni = 0 將得到 i - 吃掉所有東西所需的“進(jìn)食”次數(shù):
ni = 0 = X - i(Y - 1) => i = X / (Y - 1)
現(xiàn)在我們知道要吃多少次了,所以要吃掉的蘋果總數(shù)是原來的 X 加上吃掉 Y 個蘋果的次數(shù)(因為每次這樣做時我們都會得到一個額外的蘋果):
tot = X + roundDown(i) = X * roundDown(X / (Y - 1))
我們將結(jié)果四舍五入,因為設(shè)置 ni = 0 捕獲了部分“吃”,然后導(dǎo)致部分蘋果。
例子:
X = 7, Y = 3 => tot = 7 + roundDown(7 / (3 - 1)) = 7 + roundDown(3.5) = 10
starting with 7:
0 eaten, 7 remain
3 eaten, 1 gained, 5 remain
3 eaten, 1 gained, 3 remain
3 eaten, 1 gained, 1 remains
1 eaten, nothing gained, nothing remains
--
10 eaten in total
- 3 回答
- 0 關(guān)注
- 245 瀏覽
添加回答
舉報