• 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 }

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

  • 相关阅读:
    2014第16周六
    2014第16周五
    2014第16周四
    2014第16周三CSS布局再学习摘录
    2014第16周二
    2014第16周一
    2014第15周日
    2014第15周六
    2014第15周五
    SDN:软件定义网络
  • 原文地址:https://www.cnblogs.com/Ricardo-M-Lu-sakura/p/13293556.html
Copyright © 2020-2023  润新知