质数的输出,只能被1和它本身整除的数为质数。最小的质数是2
public class Main{
public static void main(String[]args){
boolean isFlag=true;
for(int i=2;i<=100;i++) {
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isFlag = false;
}
}
if (isFlag == true) {
System.out.println(i);
}
isFlag=true;
}
}
}
public class Main{
public static void main(String[]args){
//boolean isFlag=true;
for(int i=2;i<=100;i++) {
boolean isFlag=true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isFlag = false;
}
}
if (isFlag == true) {
System.out.println(i);
}
//isFlag=true;
}
}
}
但是这样的方法比较耗内存
优化一:
public class Main{
public static void main(String[]args){
boolean isFlag=true;
for(int i=2;i<=100;i++) {
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isFlag = false;
}
}
if (isFlag == true) {
System.out.println(i);
break;//只对本身非质数的自然数有效
}
isFlag=true;
}
}
}
优化二:
public class Main{
public static void main(String[]args){
boolean isFlag=true;
for(int i=2;i<=100;i++) {
for (int j = 2; j <=Math.sqrt(i); j++) {//开方
if (i % j == 0) {
isFlag = false;
}
}
if (isFlag == true) {
System.out.println(i);
break;
}
isFlag=true;
}
}
}