ในบทความนี้ เราจะทำความเข้าใจวิธีตรวจสอบว่าเลขใดเลขหนึ่งเป็น จำนวนเฉพาะ (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.