240 发简信
IP属地:云南
  • 我对你的代码做了一点优化
    public static void main2(String[] args) {
    //获取当前时间距离1970-01-01 00:00:00的毫秒数
    long start = System.currentTimeMillis();
    //遍历100以内的自然数
    for (int i = 2; i <= 100000; i++) {
    boolean b = true;
    //优化二:对本身是质数的自然数是有效的
    if ((i & 1) == 0) {
    b = false;
    } else {
    for (int j = 3; j < Math.sqrt(i); j+=2) {
    if (i % j == 0) { //%是求模运算,即2%10=2,10%2=0,10%3=1。
    b = false;
    break;//优化一:只对本身非质数的自然数是有效的
    }
    }
    }

    if (b) {
    System.out.print(i + " ");
    }
    }
    long end = System.currentTimeMillis();
    System.out.println("\n花费时间:" + (end - start));
    }
    大概思路就是 只要是偶数 且大于2 就一定是合数 所以第二个循环可以将步长调整至2 减少循环次数

    Java实现输出100000以内的质(素)数及算法结构优化

    输出100000以内的所有质数 质数:也叫素数,只能被1和他本身整除的自然数 最小的质数:2 方法一:效率很低 输出结果: 实际上,上面的这种方法基本上是效率最低的。但因为1...

  • 作为没有读过这本书的读者,想要理解你的文字其实还是很吃力的,功力还达不到这个水平

    JVM-GC: G1回收器和JVM(1)

    本系列文章属于《JVM G1源码分析和调优》读书笔记。感谢作者的付出! G1概述和名词解析 G1特点:在满足短时间停顿的同时,达到一个高的吞吐量,适用于多核处理器,大内存的系...

  • 博主,文采飞扬,尤其那段游戏介绍搞成文案也是可以的 最后一句话共勉吧,
    种一棵树最好的时间是十年前,其次是现在

    第一篇博客

    关于我 首先,最重要的身份就是一名java后台程序员。 17年从非双一流院校的软件工程毕业,即便如此,在学校内的成绩也算不得优秀。眨眼之间已经从学校毕业将近三年,前面约有一年...