连续增量之和

时间:2016-03-14 01:20:57

标签: javascript

我正在尝试确定在特定迭代次数中用于达到特定数字的增量。

例如,我的目标编号是100,我的起始编号是1.每次增加1的增量会让我在10次迭代中达到100。

像x +(x + y)+(x + 2y)+(x + 3y)... +(x + 9y)= 100,其中x = 1,y =我的增量。

我一直在用javascript玩游戏,但我不知所措。

2 个答案:

答案 0 :(得分:0)

你已经为此制定了数学公式,必须进行推广。让我们说

x id是起始编号,y是你必须找到的。 n是迭代,g是你的目标。

 n * x + (n *(n-1)/2) y = g

在你的情况下你有n,x,g 因此10 + 45 y = 100 给你y = 2。

所以,最后的等式是求解y是

 y = (g - (n * x)) / (n *(n-1)/2)

现在你必须在javascript中实现这个等式并找到y。

答案 1 :(得分:0)

我不确定你在x和y中的等式是否真的反映了你用英语表达的问题陈述,但是假设它有,那么你可以展示出一个简单的算术进展,如:

(目标)G = x +(x + y)+(x + 2y)+(x + 3y)+ ... +(x +(n - 1)y)

当量

G = n * x +(0 + 1 + 2 + ... + n - 1)* y

当量

G = n * x +(n *(n-1)/ 2)* y

当量

y = 2 *(G-n * x)/(n *(n-1))

,例如,(如你的例子所示)

y = 2 *(100-10)/(10 * 9)= 2

确实:

100 = 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19

' HTH,