0

私はJavaで簡単な計算をしようとしていますが、それを機能させるのにいくつか問題があります。数値を取得して、1 日に 1 回増加させたいと考えています。増加は、毎日の開始時の開始数値のパーセントであり、それを翌日の開始数値に追加します。

たとえば、開始数が 5 で、毎日の増加が 50% の場合、その数は 1 日目は 5、2 日目は 7.5、その後は 11.25 などになります。

これを繰り返し行う方法はすでに理解しましたが、再帰的に機能させることができないようです

これはかなりずさんな失敗した試みです:

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

1 に答える 1

0

再帰関数には 3 つのパラメーターが必要です。

  • 開始番号。
  • 反復で増加するパーセンテージ。
  • 開始数を増やす回数 (カウンター)。これは、再帰式に現在欠けているパラメーターです。

したがって、この 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 に答える