gpt4 book ai didi

javascript - 在 javascript 中,如何在循环中有效地处理大数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:43:09 25 4
gpt4 key购买 nike

我的指示是“对于从 1 到 n 的 i,做 i % m 并返回总和。你需要在性能上有点聪明,因为 n 可以是一个非常大的数字”

下面的程序适用于小数字。我怎样才能使它在处理大量数据时更有效率?

function f(n, m) {
var summ = 0;

for (var i = 1; i <= n; i++) {
summ += i % m;
}

return summ;
}

最佳答案

要查看发生了什么,请考虑部分和,首先计算从 0 到 m-1 的总和,然后计算从 m 到 2m - 1、2m 到 3m-1 等的总和。

m=5;
for(j=0;j<5;++j) {
partial = 0;
for(i=j*5;i<j*5+5;++i) {
partial += i % m;
console.log( i , partial );
}
}

要将事情简化为一行,请查看 Triangular Numbers .

关于javascript - 在 javascript 中,如何在循环中有效地处理大数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30293102/

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