想变强的小虎 2021-07-11 17:39 采纳率: 0%
浏览 42
已结题

Java打印质数及其优化方法

下面是没有优化之前打印质数的代码:

package day02;

public class PrimeNumberTest {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    
boolean isFlag = true;
for(int i = 2;i<=100;i++) {
    for(int j = 2;j < i;j++) {
        if(i % j == 0) {
            isFlag = false;
        }
    }
    if(isFlag ==true) {
        System.out.println(i);
    }
    isFlag = true;
}

    }
}

接下来是优化之后的代码片段:

package day02;

public class PrimeNumberTest1 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    long start = System.currentTimeMillis();//记录编译开始时间
    boolean isFlag = true;
    int count=0;//记录个数
    for(int i = 2;i<=100000;i++) {
        for(int j = 2;j <= Math.sqrt(i);j++) {//优化二,对本身是质数的有效
            if(i % j == 0) {
                isFlag = false;
                break;//优化一,本身非质数有效
            }
        }
        if(isFlag ==true) {
            System.out.println(i);
            count++;
        }
        isFlag = true;
        
    }
    long end = System.currentTimeMillis();//记录编译结束时间
    System.out.println("所花费的时间:"+(end-start));
    System.out.println("质数的个数为:"+count);
        }
    }

学习阶段,不喜勿喷!

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2021-07-11 17:42
    关注

    优化的不错,很有想法,加油💪

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月12日
  • 创建了问题 7月11日

悬赏问题

  • ¥15 springmvc redis
  • ¥20 来个看看这段代码怎么转换成二维码
  • ¥15 路线配置,规则,位置详解, 操作业类型在创建创建自定义路线中和各种业务详解
  • ¥15 SQL insert into错误
  • ¥50 zk+kafka三节点,zk异常重新选主后导致的高可用问题
  • ¥15 对回溯算法进行剪枝操作
  • ¥15 安全模式下,用户没有C盘所有权限
  • ¥15 grbl怎么清除一条命令?
  • ¥60 用继电器控制道闸开闸
  • ¥15 grbl移动过程中,发送“!"停止,进入Hold状态,怎么解除?