求教大数阶乘的字符串实现原理【javascript】
求大神帮我解释这下这段代码的实现原理!
//大数阶乘
function f(n) {
var a = [1];
for (var i = 1; i <= n; i++) {
for (var j = 0, c = 0; j < a.length || c != 0; j++) {
var m = (j < a.length) ? (i * a[j] + c) : c;
a[j] = m % 10;
c = (m - a[j]) / 10;
}
}
return a.reverse().join("");
}
console.log(f(1000)); 