1

为了调整字体大小,我需要计算范围内开始和结束之间的步骤。

鉴于:

Start Value: 14.0,
End Value: 250.0,
Steps: 28

Resulting Values: 14.0, 15.5, 17.1, 18.9, ... 204.9, 226.3, 250.0

10.45%我通过添加到前一个值(基于反复试验)来计算每个值,但我如何计算这个百分比?
猜测这里可以使用一些复利类型的函数。
公式或伪代码很好。

最终,这将是一个 C#。

4

2 回答 2

3
EndValue = StartValue * ( ( 1 + Percentage ) ^ NumberOfSteps )

是您需要的基本公式。

如果你知道NumberOfSteps并且你想要Percentage,一点代数就会得到公式(伪代码,^是指数运算符):

EndValue / StartValue = ( 1 + Percentage ) ^ NumberOfSteps
(EndValue / StartValue) ^ (1 / NumberOfSteps) = 1 + Percentage
Percentage = ( (EndValue / StartValue) ^ (1 / NumberOfSteps) ) - 1

如果您知道Percentage并且想要NumberOfSteps,最好使用循环

int NumberOfSteps = 0;
for(double i = StartValue; i < EndValue; i *= (1 + Percentage))
{
    ++NumberOfSteps;
}
于 2012-08-06T16:56:09.477 回答
0

Ce^(kt) 是数学中的复利利率本金。其中 C 是初始量,e 是常数 e= 2.71828.... 它就像 pi;k 是百分比,t 是时间。如果您想要百分比,则使用 Ce^(kt) 向后工作以获得 K 值。

于 2012-08-06T16:48:16.753 回答