求一个数的最大质因子
function maxPrimeFactor(n) {
var pf = 1; // 最大质因数
for (var i = 2; n > 1; ++i) {
// 如果 n 能被 i 整除
// 说明此时最大的质因数是 i
if (n % i == 0) {
n /= i;
pf = i;
// 循环用 n 除以 i,直到不能除尽为止
// 保证了 i 是一个质数
while (n % i == 0) {
n /= i;
}
}
}
return pf;
}