zoukankan      html  css  js  c++  java
  • Java_关于求质数的最优化方案

     1 /*
     2  求质数的优化方案
     3  */
     4 package first_1;
     5 
     6 public class primeNumberTest1 {
     7     public static void main(String[] args) {
     8         
     9         boolean isFlag = true;//标识i是否被j除尽,一旦除尽,修改其值
    10         int count = 0;//记录质数的个数
    11         
    12         //获取当前时间距离1970-01-01 00:00:00的毫秒数
    13         long start = System.currentTimeMillis();
    14         
    15         for (int i = 2; i <= 100000; i++) {//遍历100000以内的自然数
    16             
    17             //优化二:对本身是质数的自然数是有效的。
    18             //for (int j = 2; j < i; j++) {//j:被i去除
    19             for (int j = 2; j <= Math.sqrt(i); j++) {//j:被i去除
    20                 if (i % j == 0) {
    21                     isFlag = false;
    22                     break;//优化一:只对本身非质数的自然数是有效的。
    23                 }
    24             }
    25             if (isFlag == true) {//i被j除尽
    26                 System.out.println(i);
    27                 count++;
    28             }
    29             //重置isFlag
    30             isFlag = true;
    31         }
    32         
    33         //获取当前时间距离1970-01-01 00:00:00的毫秒数
    34         long end = System.currentTimeMillis();
    35         System.out.println("质数的个数为:" + count);
    36         System.out.println("所花费的时间为:"  + (end - start));//17110 - 优化一:1546 - 优化二:103
    37     }
    38 
    39 }

    关于质数的几个求解方案,每次优化都会提升运算效率

  • 相关阅读:
    最近工作
    有点感受
    日子有点快
    IDEA配置spring
    IDEA配置hibernate
    mysql插入中文乱码
    深夜配置一把struts2
    IDEA 配置SSH2
    找工作的事情
    YTU 2509: 奇怪的分式
  • 原文地址:https://www.cnblogs.com/Ricardo-M-Lu-sakura/p/13293556.html
Copyright © 2011-2022 走看看