码迷,mamicode.com
首页 > 其他好文 > 详细

查找10000以内的质数

时间:2018-07-31 21:38:54      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:偶数   javascrip   %s   +=   质数   date()   ===   rip   script   

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

标签:偶数   javascrip   %s   +=   质数   date()   ===   rip   script   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!