查找10000以内的质数

Posted yiyitong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找10000以内的质数相关的知识,希望对你有一定的参考价值。

质数,只能被自己和1整除的整数。

判断要点1:质数数组默认为[2], n若能被任意质数数组中的值整除,则不是质数

(function displayPrime() {
  let primeArray = [2];
  for (let i=3; i< 10000; i++) {
     let iIsPrime = true;
     for (let prime of primeArray) {
       if (i % prime === 0) {
         iIsPrime = false;
         break;
       }
     }
     if (iIsPrime) {
       primeArray.push(i);
     }
  }
  console.info(primeArray);
})();

判断要点2:偶数一定不是质数

(function displayPrime() {
  let time1=(new Date()).valueOf();
  let primeArray = [2];
  for (let i=3; i< 10000; i+=2) {
     let iIsPrime = true;
     for (let prime of primeArray) {
       if (i % prime === 0) {
         iIsPrime = false;
         break;
       }
     }
     if (iIsPrime) {
       primeArray.push(i);
     }
  }
  console.log(‘timeout: ‘+ ((new Date()).valueOf() - time1))
  console.info(primeArray);
}());  

判断要点3:开平方的结果是整数的整数不是质数

(function displayPrime() {
  let time1=(new Date()).valueOf();
  let primeArray = [2];
  for (let i=3; i< 10000; i+=2) {
     let sqrt=Math.sqrt(i), borderNum = i%sqrt;
     let iIsPrime = !(borderNum === 0 );
     if (!iIsPrime) {
       continue;
     }
     for (let prime of primeArray) {
       if (i % prime === 0) {
         iIsPrime = false;
         break;
       }
     }
     if (iIsPrime) {
       primeArray.push(i);
     }
  }
  console.log(‘timeout: ‘+ ((new Date()).valueOf() - time1))
  console.info(primeArray);
}());

  

以上是关于查找10000以内的质数的主要内容,如果未能解决你的问题,请参考以下文章

筛法求10000以内的质数

使用达梦数据库快速查找1000以内的质数

使用达梦数据库快速查找1000以内的质数

使用 SQL 语句查找 100 以内的所有质数

求50到100以内的质数

计算n以内质数的个数