Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java ตรวจสอบจำนวนเฉพาะ (Prime Number)


ในบทความนี้ เราจะทำความเข้าใจวิธีตรวจสอบว่าเลขใดเลขหนึ่งเป็น จำนวนเฉพาะ (Prime Number) หรือไม่ จำนวนเฉพาะคือจำนวนที่มีตัวประกอบเพียง 2 ตัวคือ 1 และตัวมันเอง בלבד และไม่สามารถหารด้วยจำนวนอื่นได้

ตัวอย่างจำนวนเฉพาะ: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47...

หมายเหตุ: 2 เป็นจำนวนเฉพาะคู่เพียงตัวเดียว ส่วนที่เหลือเป็นจำนวนคี่ทั้งหมด

ตัวอย่าง Input และ Output

Input:

Enter the number : 47

Output:

The number 47 is a prime number.

อัลกอริธึม

ขั้นตอนที่ 1 - เริ่มต้น
ขั้นตอนที่ 2 - ประกาศตัวแปรจำนวนเต็ม my_input
ขั้นตอนที่ 3 - อ่านค่าจากผู้ใช้ หรือกำหนดค่าเริ่มต้น
ขั้นตอนที่ 4 - ใช้ลูป for ตรวจสอบว่าตัวเลขหารด้วยตัวเลขน้อยกว่ามัน (ยกเว้น 1) ลงตัวหรือไม่ ถ้าไม่ลงตัวเลย = จำนวนเฉพาะ
ขั้นตอนที่ 5 - แสดงผลลัพธ์
ขั้นตอนที่ 6 - หยุด

ตัวอย่างที่ 1: รับค่าจากผู้ใช้

import java.util.Scanner;
public class IsPrime {
    public static void main(String[] args) {
        int my_input;
        System.out.println("Required packages have been imported");
        Scanner my_scanner = new Scanner(System.in);
        System.out.println("A reader object has been defined");
        System.out.print("Enter the number : ");
        my_input = my_scanner.nextInt();
        boolean isprime = false;
        for (int i = 2; i <= my_input / 2; ++i) {
            if (my_input % i == 0) {
                isprime = true;
                break;
            }
        }
        if (!isprime)
            System.out.println("The number " + my_input + " is a prime number.");
        else
            System.out.println("The number " + my_input + " is not a prime number.");
    }
}

Output

Required packages have been imported
A reader object has been defined
Enter the number : 47
The number 47 is a prime number.

ตัวอย่างที่ 2: กำหนดค่าไว้ล่วงหน้า

public class IsPrime {
    public static void main(String[] args) {
        int my_input = 47;
        System.out.println("The number is defined as " + my_input);
        boolean isprime = false;
        for (int i = 2; i <= my_input / 2; ++i) {
            if (my_input % i == 0) {
                isprime = true;
                break;
            }
        }
        if (!isprime)
            System.out.println("The number " + my_input + " is a prime number.");
        else
            System.out.println("The number " + my_input + " is not a prime number.");
    }
}

Output

The number is defined as 47
The number 47 is a prime number.