ในบทความนี้ เราจะทำความเข้าใจวิธีตรวจสอบว่าเลขใดเลขหนึ่งเป็น เลขพาลินโดรม (Palindrome Number) หรือไม่ พาลินโดรมคือตัวเลขที่อ่านจากหน้าหลังหรือหลังหน้าได้เหมือนกัน
ตัวอย่าง: 121, 454, 10101, 12321 เป็นเลขพาลินโดรม
ตัวอย่าง Input และ Output
Input:
Enter the number : 454
Output:
The number 454 is palindrome number
อัลกอริธึม
ขั้นตอนที่ 1 - เริ่มต้น ขั้นตอนที่ 2 - ประกาศตัวแปร int 4 ตัว: my_input, my_reverse, my_sum, my_temp ขั้นตอนที่ 3 - อ่านค่าจากผู้ใช้ หรือกำหนดค่าเริ่มต้น ขั้นตอนที่ 4 - ใช้ลูป while คำนวณค่ากลับ (reverse) ด้วยตัวดำเนินการ %, *, / ขั้นตอนที่ 5 - หาร my_temp ด้วย 10 เหลือ my_reverse ขั้นตอนที่ 6 - คำนวณ my_sum = (my_sum * 10) + my_reverse ขั้นตอนที่ 7 - หาร my_temp ด้วย 10 แล้ววนซ้ำ ขั้นตอนที่ 8 - เปรียบเทียบ my_input กับ my_sum ถ้าเท่ากัน = พาลินโดรม ขั้นตอนที่ 9 - แสดงผลลัพธ์ ขั้นตอนที่ 10 - หยุด
ตัวอย่างที่ 1: รับค่าจากผู้ใช้
import java.util.Scanner;
public class Palindrome {
public static void main(String args[]) {
int my_input, my_reverse, my_sum, 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 number : ");
my_input = my_scanner.nextInt();
my_sum = 0;
my_temp = my_input;
while (my_temp > 0) {
my_reverse = my_temp % 10;
my_sum = (my_sum * 10) + my_reverse;
my_temp = my_temp / 10;
}
if (my_input == my_sum)
System.out.println("The number " + my_input + " is palindrome number");
else
System.out.println("The number " + my_input + " is not palindrome number");
}
}
Output
Required packages have been imported A reader object has been defined Enter the number : 454 The number 454 is palindrome number
ตัวอย่างที่ 2: กำหนดค่าไว้ล่วงหน้า
public class Palindrome {
public static void main(String args[]) {
int my_input, my_reverse, my_sum, my_temp;
my_input = 454;
System.out.println("The number is defined as " + my_input);
my_sum = 0;
my_temp = my_input;
while (my_temp > 0) {
my_reverse = my_temp % 10;
my_sum = (my_sum * 10) + my_reverse;
my_temp = my_temp / 10;
}
if (my_input == my_sum)
System.out.println("The number " + my_input + " is palindrome number");
else
System.out.println("The number " + my_input + " is not palindrome number");
}
}
Output
The number is defined as 454 The number 454 is palindrome number