求1到100之间的素数


需求:编程打印1100之间的所有素数

解析:何为素数:素数是除了1与本身之外没有其他约数的数(1除外)也称为质数

方法一:

 

package com.Carlyle;

public class DemoDay01 {

 

         public static void main(String[] args) {

                   // 打印1-100之间的所有素数

                   //素数是除了1与本身之外没有其他约数的数(1除外),即从2开始到i-1;

                   //标记是素数

                   boolean flag=true;

                   for(int i=2;i<=100;i++){

                            flag=true;

                            for(int j=2;j


方法二:

package com.Carlyle;

public class DemoDay02 {

public static boolean isPrime(int num) { 

                   

      for(int i = 2; i <= Math.sqrt(num); i++) {        

                     if(num % i == 0) {

           return false;

                            

          }

      }

     return true;

   }

         public static void main(String[] args) {

                   for(int j = 2; j <= 100; j++) {

           if(DemoDay.isPrime(j)) {//调用isPrime判断是否为素数

               System.out.println(j + " 是素数");

                      }

                   }

                   }

 

         }

 

}


 

方法一和方法二的区别就在于执行效率的问题,方法二的执行效率明显比方法一高

你可能感兴趣的:(java)