我想在最后一次迭代时将n减少到0,但我的计算是错误的。我忽略了什么。现在我正在做Math.round(n / loops)。我需要找到一种方法来分散减法,以便在最后一次迭代中n变为0,而每个n之间的范围是恒定的。
function check(a, b) {
let loops = a / b;
let n = 200;
for (let i = 0; i <= loops; i++) {
console.log(n);
n -= Math.round(200 / loops);
}
}
check(60, 10)
编辑:我很抱歉,但这些贬低是荒谬的。
答案 0 :(得分:1)
代码的主要问题是表达式n / loop
在每次迭代中都不同。你可能想要这个表达式是常量,在这种情况下逻辑会更合理。
使用以n
的值开头的单独变量,然后是减法的主题,但没有更改 n 的原始值用于表达式n / loop
:
function check(a, b) {
let loops = a / b;
let n = 200; // don't change n after this.
let n2 = n; // use a separate variable for that.
for (let i = 0; i <= loops; i++) {
console.log(Math.round(n2)); // only round in output
n2 -= n / loops; // use n, but only change n2
}
}
check(60,10);