/* 打印1到100之間的質(zhì)數(shù)(只有1和他本身的約數(shù)) 分析: 應該先遍歷 然后判斷是否為質(zhì)數(shù) */ public class Test { public static void main(String args[]) { /* boolean flag=false; long start=System.currentTimeMillis();//獲取當前系統(tǒng)的毫秒數(shù) for(int i=2;i<=10000;i++)//先遍歷 { for(int j=2;j<i;j++) { if(i%j==0)//可以除進 flag=true; } if(flag==false) { System.out.println(i); } flag=false; } long end=System.currentTimeMillis(); System.out.println("所花費的時間為"+(end-start)); */ //優(yōu)化算法 //添加break boolean flag=false; long start=System.currentTimeMillis();//獲取當前系統(tǒng)的毫秒數(shù) for(int i=2;i<=10000;i++)//先遍歷 { for(int j=2;j<Math.sqrt(i);j++)//使用數(shù)學技巧,遍歷到i的平方根就可以了 { if(i%j==0)//可以除進 flag=true; break; } if(flag)//這里也進行改變 { System.out.println(i); } flag=false; } long end=System.currentTimeMillis(); System.out.println("所花費的時間為"+(end-start)); } } |
|