Я бы посоветовал вам поиграть с степенным законом семейством функций, c * x ^ a == c * pow(x,a)
, где a
- мощность. Если вам нужна точная доля вашего ответа, вы бы выбрали a=1
, и это будет просто постоянная доля. Но вы хотите, чтобы процент медленно уменьшался, поэтому вы можете выбрать a<1
. Например, мы можем выбрать a = 0,9 и c = 0,2 и получить
1 0.2
10 1.59
100 12.6
1000 100.2
Таким образом, оно колеблется от 20% при 1 до 10% при 1000. Вы можете выбрать меньшее значение a
, чтобы уменьшить долю быстрее. (И вы можете масштабировать все, чтобы соответствовать вашему диапазону.)
В частности, если c * 5000 ^ a = 2500 и c * 26000 ^ a = 6500, то путем деления мы получим (5.1) ^ a = 2.6, который мы можем решить как a = log (2.6) / log (5.1) ) = 0.58648 .... Затем мы снова подключаемся, чтобы получить c * 147.69 = 2500, поэтому c = 16.927 ...
Теперь прогрессия выглядит так
1000 973
3000 1853
5000 2500
10000 3754
15000 4762
26000 6574
50000 9648
90000 13618