zoukankan      html  css  js  c++  java
  • 查找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);
    }());
    

      

  • 相关阅读:
    Java日期相关操作
    Java中this的功能与作用
    DCL双检查锁机制实现的线程安全的单例模式
    Java 二分查找
    Java冒泡排序
    Java多线程编程(二)
    SSH小结
    Python快速上手JSON指南
    趣谈、浅析CRLF和LF
    linux开发神器--Tmux
  • 原文地址:https://www.cnblogs.com/yiyitong/p/9397631.html
Copyright © 2011-2022 走看看