用 JavaScript 生成隨機質數


我們需要編寫一個 JavaScript 函式,該函式接受兩個指定範圍的數字。我們的函式應返回該範圍內的隨機質數

示例

程式碼如下 -

const range = [100, 1000];
const getPrimes = (min, max) => {
   const result = Array(max + 1)
   .fill(0)
   .map((_, i) => i);
   for (let i = 2; i <= Math.sqrt(max + 1); i++) {
      for (let j = i ** 2; j < max + 1; j += i) delete result[j];
   }
   return Object.values(result.slice(min));
};
const getRandomNum = (min, max) => {
   return Math.floor(Math.random() * (max − min + 1) + min);
};
const getRandomPrime = ([min, max]) => {
   const primes = getPrimes(min, max);
   return primes[getRandomNum(0, primes.length − 1)];
};
console.log(getRandomPrime(range));

輸出

控制檯中的輸出為 -

311

每次執行的結果可能不同。

更新於: 21-11-2020

505 次瀏覽

開啟你的 職業生涯

完成課程認證

開始
廣告