Java //100以内的质数的输出(从2开始,到这个数-1结束为止,都不能被这个数本身整除)+优化

2021/8/28 20:36:31

本文主要是介绍Java //100以内的质数的输出(从2开始,到这个数-1结束为止,都不能被这个数本身整除)+优化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 1 //100以内的质数的输出(从2开始,到这个数-1结束为止,都不能被这个数本身整除)
 2         boolean isFlag = true;   //标识i是否被j除尽,修改其值
 3          
 4         for(int i =2; i<=100;i++)
 5         {
 6             for(int j = 2;j < i;j++)
 7             {
 8                 if(i % j == 0)
 9                 {
10                     isFlag = false;
11                 }
12             }
13             
14             if(isFlag == true)
15             {
16                 System.out.println(i);
17             }
18             //重置isFlag
19             isFlag = true; 
20         }
21         
22         //优化-----------------------------------------------------
23         
24         boolean isFlag1 = true;   //标识i是否被j除尽,修改其值
25         
26         //获取当前时间距离1970-01-01 00:00:00 的毫秒数
27         long statrs=System.currentTimeMillis();
28          
29         for(int i =2; i<=100;i++)
30         {
31             for(int j = 2;j < i;j++)
32             {
33                 if(i % j == 0)
34                 {
35                     isFlag1 = false;
36                     break;//优化一
37                 }
38             }
39             
40             if(isFlag1 == true)
41             {
42                 System.out.println(i);
43             }
44             //重置isFlag
45             isFlag1 = true; 
46         }
47         
48 
49         //获取当前时间距离1970-01-01 00:00:00 的毫秒数
50         long end=System.currentTimeMillis();
51         
52         System.out.println("所花费的时间为:"+(end - statrs));
53         
54         
55         
56         
57         //优化二 -----------------------------------------------------
58         
59                 boolean isFlag2 = true;   //标识i是否被j除尽,修改其值
60                 
61                 //获取当前时间距离1970-01-01 00:00:00 的毫秒数
62                 long statrs2=System.currentTimeMillis();
63                  
64                 for(int i =2; i<=100;i++)
65                 {
66                     //优化2   开根号
67                     for(int j = 2;j <= Math.sqrt(i) ;j++)
68                     {
69                         if(i % j == 0)
70                         {
71                             isFlag2 = false;
72                             break;//优化一
73                         }
74                     }
75                     
76                     if(isFlag2 == true)
77                     {
78                         System.out.println(i);
79                     }
80                     //重置isFlag
81                     isFlag2 = true; 
82                 }
83                 
84 
85                 //获取当前时间距离1970-01-01 00:00:00 的毫秒数
86                 long end2=System.currentTimeMillis();
87                 
88                 System.out.println("所花费的时间为:"+(end2 - statrs2));
89                 
90                 
91         

 



这篇关于Java //100以内的质数的输出(从2开始,到这个数-1结束为止,都不能被这个数本身整除)+优化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程