您的位置:首页 > 编程语言 > Java开发

java基础_day0015_循环_for_嵌套_优化

2017-03-08 10:17 429 查看
package day03;
/**
* @ClassName: ZhiShu.java
* @Description: TODO(用一句话描述该文件做什么)
*
* @author Administrator
* @E-mail 809044093@qq.com
* @version V1.0
* @Date 2015-9-28 下午04:39:32
*/

/*
让程序最高效的求1--100之间的质数 【质数:只能被自身和1整除】
优化两次 [考虑程序的执行效率问题]
效率提升60--70%
*/
public class ZhiShu {
public static void main(String[] args) {
boolean flag=false;
long currentTimeMillis = System.currentTimeMillis();
for(int i=2; i<=100;i++){
// for(int j=2;j<i;j++){
for(int j=2;j<=Math.sqrt(i);j++){//优化二 :质数 = m*N 当 m与n最接近事 还没有被整除则不用继续循环,
//此处取第开平方的值例如 7=1*7 7=2.64*2.64 7=7*1 中间 2.64处 前 、后的计算对应
if(i%j==0){
flag=true;
// 优化一 :能被2整除则 不用在继续 直接跳出循环
// break;
}
}
if(!flag){
System.out.println("质数为:"+i);
}
flag=false;
}
long currentTimeMillis2 = System.currentTimeMillis();
System.out.println("用时:"+(currentTimeMillis2-currentTimeMillis)+"毫秒");
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: