色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript100到999素數

趙新忠1年前6瀏覽0評論

在數學領域,素數是一種十分特殊的數字,它只能被1和它本身整除。而在計算機編程中,尋找素數也是一個比較有趣的話題。在Javascript中,我們可以使用很多種方法來判斷是否為素數以及尋找素數。本文將詳細介紹Javascript中如何判斷100到999之間的素數。

首先,最簡單的方法就是暴力枚舉法。即從2開始一直到該數字的平方根,判斷該數字是否能夠被整除。如果不能被整除,則該數字是素數,否則不是。下面是采用暴力枚舉法判斷100到999之間的所有素數的代碼:

function isPrime(n) {
if(n < 2) {
return false;
}
for(var i=2; i<=Math.sqrt(n); i++) {
if(n % i === 0) {
return false;
}
}
return true;
}
for(var i=100; i<=999; i++) {
if(isPrime(i)) {
console.log(i);
}
}

上述代碼通過一個isPrime函數來判斷是否為素數,該函數接受一個數字n作為參數,返回一個布爾值。接下來使用for循環從100到999的數字依次調用isPrime函數,如果返回值為true,則說明該數字是素數,使用console.log函數進行輸出。

暴力枚舉法雖然簡單,但在處理大量數據時會十分耗時。因此常用的方法是質數篩法。質數篩法思路比較簡單,即從2開始 mark 掉所有 2 的倍數;再從下一個未標記的數字 3 開始,標記所有 3 的倍數;接下來重復這個過程,即先找到下一個未標記的數字 p 作為新的質數,然后標記它的倍數。下面是使用質數篩法判斷100到999之間所有素數的代碼:

function getPrimes(n) {
var primes = [];
var flags = new Array(n).fill(true);
for(var i=2; i<n; i++) {
if(flags[i]) {
primes.push(i);
for(var j=i*i; j<n; j+=i) {
flags[j] = false;
}
}
}
return primes;
}
var primes = getPrimes(1000);
for(var i=0; i<primes.length; i++) {
if(primes[i] >= 100 && primes[i] <= 999) {
console.log(primes[i]);
}
}

上述代碼中,我們定義了一個getPrimes函數,該函數接受一個整數n作為參數,返回一個數組,包含小于n的所有素數。在該函數中,我們使用了一個數組flags來標記數字是否為素數,初始時所有數字都被標記為素數。接下來,從2開始依次遍歷每個數字,如果該數字標記為素數,則將其添加到素數數組primes中,并將其所有的倍數標記為非素數。最后返回素數數組。最后,我們使用getPrimes函數得到所有小于1000的素數,遍歷這個數組,輸出在100到999之間的所有素數。

總的來說,以上兩種方法都可以用來判斷100到999之間是否為素數。如果你需要判斷一些較小的數字,建議使用暴力枚舉法;如果你需要判斷一些較大的數字,則建議使用質數篩法。