我剛剛創建了一個運行一段時間的for循環的素數查找器。現在它在167899並且每秒都在增長。For Loop Max JavaScript
循環可以經過的循環的最大數量是多少?如果它是一個不敬虔的大數字,我不希望等待整晚,看看我能產生的最大質數是多少。
它是無限的嗎?
這裏是我的代碼:
var isNotPrime = false;
var currentNumber = 3;
var primeArray = [2];
function prime(){
isNotPrime = false;
for(a=0; a<primeArray.length; a++){
if(currentNumber%primeArray[a] === 0){
isNotPrime = true;
}
if(a===(primeArray.length-1) && isNotPrime ===false){
document.write(currentNumber+"<BR>");
primeArray.push(currentNumber);
}
if(a===(primeArray.length-1)){
currentNumber++;
}
}
}
var main = setInterval(prime, 1);
window.alert("Starting search for Prime Numbers!");
可能的重複[如何計算循環可以在Javascript中運行的最大次數?](http://stackoverflow.com/questions/8256785/how-to-calculate-that-to-what-最大循環次數可以在javasc中運行) – bjb568
您還可以將循環限制爲javascript 2^52的最大整數。對於非常大的素數,我推薦使用支持非常大的數字,C和Python的庫:https://gmpy2.readthedocs.org/en/latest/mpz.html#mpz-methods – bitoiu