首页 > 其他 > 详细

查找10000以内的质数

时间:2018-07-31 20:51:16      阅读:142      评论:0      收藏:0      [点我收藏+]

质数,只能被自己和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以内的质数

原文:https://www.cnblogs.com/yiyitong/p/9397631.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!