判斷是不是質數:
public class PrimeNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1 = scanner.nextInt();
// 默認輸入的數是質數,設置 flag = true
boolean flag = true;
// 判斷一個數是不是質數,只需判斷 2 到 num1 的平方根,減少循環次數
for (int i = 2; i <= Math.sqrt(num1); i++) {
// 如果 輸入數 能被 2 ~~ 根號num1 之間的值整除,說明不是質數
if (num1 % i == 0) {
flag = false;
break;
}
}
if (flag) {
System.out.println("是質數");
} else {
System.out.println("不是質數");
}
}
}
接受用戶輸入的一個數,打印出這個數(包括這個數)以內的所有質數,代碼如下:
public class PrimeNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 獲取輸入的數值
int num = scanner.nextInt();
// 遍歷 2 ~~ input 之間 所有數,有=包括input
for (int i = 2; i <= num; i++) {
// flag = true是代表質數,flag = false不是代表質數
boolean flag = true;
// 判斷 i 是不是質數,只要在 2 ~~ i 之間不能被 input 整除
for (int j = 2; j <= Math.sqrt(i); j++) {
// 如果i能整除j說明 i不是質數,flag設置爲 false
if (i % j == 0) {
flag = false;
break;
}
}
// 如果 flag = true 說明是質數
if (flag) {
System.out.print(i + " ");
}
}
}
}