我有一个金矿,每 20 小时以一个黄金单位的速度生产黄金(20 小时并不重要)。当它达到 250 个金单位时,它会立即购买另一个金矿(花费 250 个金),所以现在它每个周期生产两个金单位。
目前只能这样模拟
int getCycles (int targetMines) {
int cycle = 0;
int goldMines = 1;
int balance = 0;
while (goldMines != targetMines) {
cycle++;
balance += goldMines;
if (balance / 250 >= 1) {
goldMines += balance / 250;
balance = balance % 250;
}
}
return cycle;
}
我正在寻找一个更优雅的解决方案(也许更多的是数学而不是计算?)来找到达到目标金矿数量所需的周期数 (C)