public static void main(String[] args) {
for (int i = 2; i <= 100; i++) {
boolean flag = true;
// 質數是只能被1與自己整除,所以判斷非質數範圍就只能是 2 ~ (i-1)
// for (int j = 2; j < i ; j++) {
for (int j = 2; j <= Math.sqrt(i) ; j++) {
// 優化二、j <= Math.sqrt(i)開根號:對質數的計算提升效率
if (i % j == 0) {
// 非質數
flag = false;
// 優化一、break對非質數的計算提升效率
break;
}
}
if (flag) {
System.out.println("印出當前質數 : " + i);
}
}
}
輸出結果
印出當前質數 : 2
印出當前質數 : 3
印出當前質數 : 5
印出當前質數 : 7
印出當前質數 : 11
印出當前質數 : 13
印出當前質數 : 17
印出當前質數 : 19
印出當前質數 : 23
印出當前質數 : 29
印出當前質數 : 31
印出當前質數 : 37
印出當前質數 : 41
印出當前質數 : 43
印出當前質數 : 47
印出當前質數 : 53
印出當前質數 : 59
印出當前質數 : 61
印出當前質數 : 67
印出當前質數 : 71
印出當前質數 : 73
印出當前質數 : 79
印出當前質數 : 83
印出當前質數 : 89
印出當前質數 : 97