我的指令是“对于i从1到n,执行i%m并返回总和。 由于n可能非常大,因此您需要在性能方面变得聪明一些”。
下面的程序对小数字有效。如何使它在处理大数字时更加高效?
function f(n, m) {
var summ = 0;
for (var i = 1; i <= n; i++) {
summ += i % m;
}
return summ;
}
我的指令是“对于i从1到n,执行i%m并返回总和。 由于n可能非常大,因此您需要在性能方面变得聪明一些”。
下面的程序对小数字有效。如何使它在处理大数字时更加高效?
function f(n, m) {
var summ = 0;
for (var i = 1; i <= n; i++) {
summ += i % m;
}
return summ;
}
for
循环内加入console.log(i % m)
,并查看当n
的值至少是m
的5倍时它显示的内容。这是一个演示:http://jsfiddle.net/jfriend00/hjhjyrbe/。 - jfriend00