好吧,也许是一个菜鸟和荒谬的问题,但我有点问题。
我做了一个简单的for循环,以特定的方式求和一些数,我需要求和一个数的幂。如果我不使用IncrementPercent就好了,所以如果IcrementPercent为0我得到了这个:
test - divider: 2
test - divider: 6
test - divider: 18
test - divider: 54
test - divider: 162
test - divider: 486
test - divider: 1458
对我来说这是正确的,但是如果我在10点激活IncrementPercent,那么每次数字必须增加1.1等等,我就是这个
test - divider: 2.2
test - divider: 6.6000000000000005
test - divider: 19.8
test - divider: 59.400000000000006
test - divider: 178.20000000000002
test - divider: 534.6
test - divider: 1603.8000000000002
这对我来说不正确,因为我需要这个
test - divider: 2.2
test - divider: 7.26
test - divider: 23.958
test - divider: 79.0614
... and so on
所以这个想法很简单,我有一个起始编号,那个例子是2,所以我需要第一次乘以3,第二次乘3 * 3,第三次乘3 * 3 * 3 ...
但如果我激活IncrementPercent,我想这样做:
2*1.1 -> 2.2
2.2*3*1.1 -> 7.26
7.26*3*3*1.1 -> 23.958
所以每次都是我要乘以的前一个数字!
这是我的公式:
IncrementPercent = 10;
mult1 = 2;
mult2 = 3;
Game = 7;
var divider = 1 + (mult1 * (1 + (IncrementPercent / 100))) - mult1;
for (i = 0; i <= (Game - 1); i++) {
var divider = mult1 * Math.pow(mult2, i) * (1 + (IncrementPercent / 100));
console.log('test - divider: ' + divider);
}
答案 0 :(得分:1)
你太复杂了:
var incrementPercent = 10,
number = 2,
factor = 3,
iterations = 7;
for (var i = 0; i < iterations; ++i) {
number *= 1 + incrementPercent/100;
console.log(number);
number *= factor;
}