0

我正在尝试在 java 中做一些简单的数学运算,但我在让它工作时遇到了一些问题。我想取一个数字并每天增加一次,增加量是每天开始时起始数字的百分比,然后将其添加到第二天的起始数字。

比如,如果起始数字是 5,每天的涨幅是 50%,那么第一天的数字应该是 5,第二天应该是 7.5,然后是 11.25,等等......

我已经想出了如何迭代地做到这一点,但我似乎无法让它递归地工作

这是一个相当草率的失败尝试:

   increase = start * percent;
   endNum = start + increase;
   startingNum += increase;
   return endNum;
4

1 回答 1

0

递归函数中需要 3 个参数:

  • 起始编号。
  • 每次迭代增加的百分比。
  • 您将增加起始数字的次数(计数器)。这是您当前在递归公式中缺少的参数。

所以,有了第三个参数,你唯一应该做的就是递归调用你的函数,直到计数器下降到 0。

算法示例:

function doFooOperation (start, percent, counter)
    if (counter == 0) return 0
    //do your operations here...
    return doFooOperation(start, percent, counter - 1)
end function
于 2013-02-19T04:37:20.413 回答