简体   繁体   English

Javascript,乘以最后一个循环数

[英]Javascript, multiply the last loop number

Ok, maybe is a noob and ridicolous question but I've a little problem.好吧,也许是一个菜鸟和荒谬的问题,但我有一个小问题。

I made a simple for loop that sum in a particular way some number, I need to sum the pow of one number.我做了一个简单的 for 循环,以特定方式对某个数字求和,我需要对一个数字的 pow 求和。 It's all good if I don't use the IncrementPercent, so if IcrementPercent is 0 I got this:如果我不使用 IncrementPercent,一切都很好,所以如果 IcrementPercent 为 0,我会得到这个:

test - divider: 2
test - divider: 6
test - divider: 18
test - divider: 54
test - divider: 162
test - divider: 486
test - divider: 1458

And that for me is correct, but if I activate the IncrementPercent at 10, so each time the number must be incremented by 1.1 and so on, I've this这对我来说是正确的,但如果我在 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

And this's not correct for me, because I need this这对我来说不正确,因为我需要这个

test - divider: 2.2
test - divider: 7.26
test - divider: 23.958
test - divider: 79.0614
... and so on

So the idea is simple, I have a starting number, in that case is 2, so I need to multiply it for 3 the 1st time, for 3*3 the 2nd time, for 3*3*3 the 3rd time ...所以这个想法很简单,我有一个起始数字,在这种情况下是 2,所以我需要第一次乘以 3,第二次乘以 3*3,第三次乘以 3*3*3...

But if I activate the IncrementPercent I want to do this:但是如果我激活 IncrementPercent 我想这样做:

2*1.1 -> 2.2
2.2*3*1.1 -> 7.26
7.26*3*3*1.1 -> 23.958

So each time is the previous number that I've to multiply!所以每次都是我必须乘以的前一个数字!

This is the formula that I've:这是我的公式:

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);
}

You were overcomplicating:你太复杂了:

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;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM