大きな数 (正確には 60 億) をループしようとしていますが、コンピューターがフリーズするためループできません。どうすればこれを回避できますか。の最大の素因数を見つけることになっています600851475143
。
function prime(n) {
if (n === 1 || n === 2) return false;
if (n % 2 === 0 || n % 3 === 0) return false;
return true;
}
var n = 600851475143;
for (var i = 1, c = []; i < n; i++) {
if ((n % i === 0) && prime(i)) {
c.push(i);
}
}
もう終わりです。素数を配列に格納しています。