需求:编程打印1到100之间的所有素数
解析:何为素数:素数是除了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<i-1;j++){
if(i%j==0){
flag=false;
break;
}
}
if(flag){
System.out.println(i);
}
}
}
}
方法二:
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 + " 是素数");
}
}
}
}
}
方法一和方法二的区别就在于执行效率的问题,方法二的执行效率明显比方法一高