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)+"毫秒");
}
}
/**
* @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)+"毫秒");
}
}
相关文章推荐
- java基础_day0014_循环_for_嵌套
- 【Java】嵌套For循环性能优化案例
- 【Java语言】嵌套For循环性能优化案例
- 【Java语言】嵌套For循环性能优化案例
- 【Java语言】嵌套For循环性能优化案例
- java基础_day0011_循环_for_嵌套
- 黑马程序员————java基础-----for嵌套循环的执行顺序
- 黑马程序员-----java基础------for循环结构----do...while循环----while循环------方法---数组(一维,二维)
- 嵌套For循环性能优化案例
- java基础学习记录之for嵌套学习与练习一
- Java 基础 for循环基础练习记录
- 菜鸟要做架构师(二)——java性能优化之for循环
- Java基础---Java循环之for(二十四)
- Java基础---Java循环之for(二十四)
- 老紫竹JAVA基础培训(6),For循环语句的使用
- Java基础 for 语句嵌套 记录和练习
- 6、C#基础整理(for 语句经典习题--for循环嵌套、穷举)
- 黑马程序员_java编程基础第3天1-5 循环结构while;do while;for
- 黑马程序员_java编程基础第3天1-5 循环结构while;do while;for
- java基础学习记录之for嵌套学习与练习三