Javascript,乘以最后一个循环数

标签 javascript for-loop multiplication

好吧,也许这是一个菜鸟和可笑的问题,但我有一个小问题。

我做了一个简单的 for 循环,以特定的方式对某个数字求和,我需要对一个数字的 pow 求和。如果我不使用 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);
}

最佳答案

你过于复杂化了:

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

关于Javascript,乘以最后一个循环数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36823016/

相关文章:

javascript - 如何在 Slim + Twig 上循环使用 javascript urlfor()

javascript - JSON 文件的获取请求未命中链接预加载

matrix - 为什么 cuSparse 在稀疏矩阵乘法方面比 cuBlas 慢得多

c - 在 c 中的长乘法期间跟踪第一个数字

javascript - Sencha extjs 5 在 West 布局中显示树

javascript - 在 mouseenter 上使用动态 div id 显示/隐藏表格列

在c中创建多个递归目录

javascript - 在 for 循环中等待 setTimeout 可以吗?

javascript - 制作字符串模式

Java 8 矩阵 * vector 乘法