gpt4 book ai didi

JavaScript 数学,循环内循环

转载 作者:行者123 更新时间:2023-12-02 14:33:57 30 4
gpt4 key购买 nike

我有一个起始数字,因此必须仅在开始循环时将该数字乘以一个因子,然后将结果乘以另一个因子的 X 倍,然后必须将循环乘以 Y 次,最后我需要总金额...我认为最好查看数字来了解我需要什么

例如,如果我从数字 10 开始,这是正确的顺序:

  • 10
  • 50 (10*5)
  • 60 (50*1.2)
  • 72 (60*1.2)
  • 86.4 (72*1.2)
  • 103.68 (86.4*1.2)
  • 124.416 (103.68*1.2)

对我来说,从现在开始,前 6 个是内部循环,我需要复制该过程,但我必须使用最后一个值,124.416 乘以 5,然后再次乘以 1.2,所以

  • 622.08 (124.416*5)
  • 746.496 (622.08*1.2)
  • 895.7952 (746.496*1.2)
  • 1074.95424 (895.7952*1.2)
  • 1289.94509 (1074.95424*1.2)
  • 1547.93411 (1289.94509*1.2)
  • 1857.52093 (1547.93411*1.2)

等等...

最后我需要将所有中间结果相加,10 + 50 + 60 + 72 ...

我尝试这样做,但这不是我需要的,内部循环的工作方式就像暴露的一样,但是当我添加外部循环时,一切都出了问题!

outtercycle = 5;
base = 10;
mult1 = 5;
mult2 = 1.2;
innercycle = 6;

aaa = 0;
number = 0;

function test()
{
for (j = 0; j < outtercycle; j++) {
aaa = base * mult1;
number += aaa;
for (i = 0; i < (innercycle - 1); i++) {
aaa *= mult2;
number += aaa;
}
}
return number + base;
}

base = test();

在代码中,我需要有 5 个外部循环,但我只在 2 个外部循环上进行测试,我认为,当它起作用时,可以处理任何变量值,对吗?

对这个小问题有什么想法吗?

最佳答案

将其分为两个步骤 - 更容易解决问题。

  1. 累加数组中的所有值
  2. 对数组中的所有数字求和
<小时/>

function getValues(start, outerCycle, outerMulti, innerCycle, innerMulti){
var result = [start];
var idx = 0;
for(var i = 0;i<outerCycle;i++){
result.push(result[idx] * outerMulti);
idx++;
for(var j=0;j<innerCycle;j++){
result.push(result[idx] * innerMulti);
idx++;
}
}
return result;
}

var values = getValues(10,2,5,5,1.2);
console.log('values', values);
var sum = values.reduce(function(a,b){ return a + b; });
console.log('sum', sum);

关于JavaScript 数学,循环内循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37613971/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com