在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

每次运行的输出可能会有所不同。

以上是 在JavaScript中生成随机素数 的全部内容, 来源链接: utcz.com/z/330866.html

回到顶部