ในบทความนี้ เราจะทำความเข้าใจวิธี แสดงจำนวนเฉพาะระหว่าง 2 จำนวน (Intervals) แบบ Inline Logic โดยไม่ใช้ฟังก์ชันแยก
ตัวอย่าง Input และ Output
Input:
Starting number : 1 Ending number : 75
Output:
The prime numbers between the interval 1 and 75 are: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73
อัลกอริธึม
ขั้นตอนที่ 1 - เริ่มต้น ขั้นตอนที่ 2 - ประกาศตัวแปร my_high, my_low, i, boolean my_temp ขั้นตอนที่ 3 - อ่านค่าจากผู้ใช้ หรือกำหนดค่าเริ่มต้น ขั้นตอนที่ 4 - วนลูป while จาก my_low ถึง my_high ขั้นตอนที่ 5 - ในแต่ละรอบ: ตั้ง my_temp=false วนลูป for i=2 ถึง my_low/2 ถ้าหารลงตัว my_temp=true break ขั้นตอนที่ 6 - ถ้า !my_temp และ my_low ไม่ใช่ 0,1 → พิมพ์ my_low ขั้นตอนที่ 7 - เพิ่ม my_low แสดงผล ขั้นตอนที่ 8 - หยุด
ตัวอย่างที่ 1: รับค่าจากผู้ใช้
import java.util.Scanner;
public class PrimeNumber {
public static void main(String[] args) {
int my_high, my_low, i;
boolean my_temp;
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 starting number : ");
my_low = my_scanner.nextInt();
System.out.print("Enter an ending Number: ");
my_high = my_scanner.nextInt();
System.out.println("The prime numbers between the interval " + my_low + " and " + my_high + " are:");
while (my_low < my_high) {
my_temp = false;
for (i = 2; i <= my_low / 2; ++i) {
if (my_low % i == 0) {
my_temp = true;
break;
}
}
if (!my_temp && my_low != 0 && my_low != 1)
System.out.print(my_low + " ");
++my_low;
}
}
}
Output
Required packages have been imported A reader object has been defined Enter the starting number : 1 Enter the ending number : 75 The prime numbers between the interval 1 and 75 are: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73
ตัวอย่างที่ 2: กำหนดค่าไว้ล่วงหน้า
public class PrimeNumber {
public static void main(String[] args) {
int my_high, my_low, i;
boolean my_temp;
my_low = 1;
my_high = 75;
System.out.println("The starting and ending numbers are defined as " + my_low + " and " + my_high);
System.out.println("The prime numbers between the interval " + my_low + " and " + my_high + " are:");
while (my_low < my_high) {
my_temp = false;
for (i = 2; i <= my_low / 2; ++i) {
if (my_low % i == 0) {
my_temp = true;
break;
}
}
if (!my_temp && my_low != 0 && my_low != 1)
System.out.print(my_low + " ");
++my_low;
}
}
}
Output
The starting and ending numbers are defined as 1 and 75 The prime numbers between the interval 1 and 75 are: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73