我正在尝试确定在特定迭代次数中用于达到特定数字的增量。
例如,我的目标编号是100,我的起始编号是1.每次增加1的增量会让我在10次迭代中达到100。
像x +(x + y)+(x + 2y)+(x + 3y)... +(x + 9y)= 100,其中x = 1,y =我的增量。
我一直在用javascript玩游戏,但我不知所措。
答案 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,