饼干切割器问题是否有封闭式解决方案?作为参考,这是:google page
* 已更新,以包含问题陈述
问题
在此问题中,您从0个Cookie开始。通过点击一个巨大的cookie,您可以以每秒2个cookie的速度获得cookie。只要您拥有至少C cookie,就可以购买一个cookie农场。每次你购买一个饼干农场,它会花费你C饼干,每秒给你一个额外的F饼干。
一旦你有了没有在农场度过的X饼干,你就赢了!弄清楚如果你使用最好的策略,你需要多长时间才能获胜。
实施例
假设C = 500.0,F = 4.0且X = 2000.0。以下是最佳战略的演绎方式:
您从0个Cookie开始,但每秒产生2个Cookie。 250秒后,您将拥有C = 500个饼干并且可以购买每秒产生F = 4个饼干的农场。 购买农场后,你有0个饼干,你的总饼干产量是每秒6个饼干。 下一个农场将花费500个饼干,您可以在大约83.3333333秒后购买。 购买第二个农场后,你有0个cookie,你的总cookie产量是每秒10个cookie。 另一个农场将花费500个饼干,您可以在50秒后购买。 购买第三个农场后,你有0个cookie,你的总cookie产量是每秒14个cookie。 另一个农场需要花费500个饼干,但实际上不要购买它:相反,你可以等到你有X = 2000个饼干,大约需要142.8571429秒。
总时间:250 + 83.3333333 + 50 + 142.8571429 = 526.1904762秒。
请注意,你会持续获得cookies:所以在游戏开始后0.1秒你将拥有0.2个cookie,并且在游戏开始后π秒你将拥有2个cookie。
答案 0 :(得分:0)
没有。它不会有任何封闭的形式。
算法是这样的,
等待收集C多个cookie。 如果您有C多个cookie,请购买新的农场
(X-C)/R >= X/(R+F) --- (i)
否则不要购买任何农场并继续收集饼干,直到你有许多饼干。
eqn (i)
LHS is the time for the collecting (X-C) many cookies [collected C many cookies already which I did not spend on buying a farm] with current collecting rate.
RHS is the time for collecting X many cookies with the increased collecting rate.
从我们的等式R <= F(X-C)/C
所以答案是,
C/2 + C/2+F + C/2+2F + C/2+3F + ... + C/2+NF + X/2+NF [2 + NF <= F(X-C)/C]
= C(1/2 + 1/2+F + 1/2+2F + ... + 1/2+NF) + X/2+NF = A
假设我们有一个封闭的表格来计算A
然后是F = 1, C = 1, X = K
我们A = (1/2 + 1/3 + .. + 1/2+N) + X/2+N
2+N <= (K-1)
=> (1/2 + 1/3 + .. + 1/2+N) = A - X/2+N
也会有封闭的形式。
但是,{1 / N}系列的有限和没有任何封闭形式。所以这两者都没有。
答案 1 :(得分:0)
我猜有一个封闭的表格:
请注意,您必须进行比较(因为只要您可以购买另一个农场或从不购买另一个农场,这是最佳选择)
(X-C)/(2+F(n-1)) with X/(2+Fn)
,其中n是农场数量。
因此,您只需找到n
即可解决
(X-C)/(2+F(n-1)) = X/(2+Fn)
。
N =(FX-2C)/ CF
如果n为正数,则表示您的解决方案为Floor(n)。否则,n = 0就是你的解决方案。
PS:&#34; 2&#34;以上可以用初始生产率代替。