1. 程式人生 > >JAVA判斷質數和輸出輸入數以內的所有質數

JAVA判斷質數和輸出輸入數以內的所有質數

判斷是不是質數:

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 + " "); } } } }