โปรแกรมเลขพาลินโดรม Java การใช้ while & for Loop
หมายเลขพาลินโดรมคืออะไร?
A หมายเลขพาลินโดรม คือตัวเลขที่ยังคงเป็นตัวเลขเดิมเมื่อกลับด้าน เช่น 131 เมื่อกลับหลักก็ยังคงเป็นเลขเดิม เลขพาลินโดรมมีความสมมาตรการสะท้อนที่แกนตั้ง หมายถึงคำที่มีการสะกดเหมือนกันเมื่อกลับตัวอักษร
ตัวอย่างเลขพาลินโดรมใน Java
121, 393, 34043, 111, 555, 48084
ตัวอย่างเลขพาลินโดรม
LOL, MADAM
อัลกอริทึมจำนวนพาลินโดรม
ด้านล่างนี้คือตรรกะอัลกอริทึมของตัวเลข Palindrome Java:
- รับหมายเลขอินพุตที่ต้องตรวจสอบว่าเป็น a ประโยค
- คัดลอกตัวเลขลงในตัวแปรชั่วคราวแล้วย้อนกลับ
- เปรียบเทียบเลขกลับตัวกับเลขเดิม
- ถ้าเหมือนกัน ตัวเลขจะเป็น “เลขพาลินโดรม”
- หมายเลขอื่นไม่ใช่ "หมายเลขพาลินโดรม"
วิธีตรวจสอบว่าหมายเลขอินพุตเป็น Palindrome หรือไม่
ด้านล่างนี้เป็นโปรแกรม Palindrome ค่ะ Java สีสดสวย ในขณะที่วนซ้ำ
package com.guru99;
public class PalindromeNum {
public static void main(String[] args)
{
int lastDigit,sum=0,a;
int inputNumber=171; //It is the number to be checked for palindrome
a=inputNumber;
// Code to reverse a number
while(a>0)
{ System.out.println("Input Number "+a);
lastDigit=a%10; //getting remainder
System.out.println("Last Digit "+lastDigit);
System.out.println("Digit "+lastDigit+ " was added to sum "+(sum*10));
sum=(sum*10)+lastDigit;
a=a/10;
}
// if given number equal to sum than number is palindrome otherwise not palindrome
if(sum==inputNumber)
System.out.println("Number is palindrome ");
else
System.out.println("Number is not palindrome");
}
}
รหัสเอาท์พุท:
Input Number 171 Last Digit 1 Digit 1 was added to sum 0 Input Number 17 Last Digit 7 Digit 7 was added to sum 10 Input Number 1 Last Digit 1 Digit 1 was added to sum 170 Number is palindrome
โปรแกรมตรวจสอบ Palindrome โดยใช้ for loop
ด้านล่างคือ Java โปรแกรมสำหรับ Palindrome โดยใช้ for loop
package com.guru99;
public class PalindromeNum {
public static void main(String[] args)
{
int lastDigit,sum=0,a;
int inputNumber=185; //It is the number to be checked for palindrome
a=inputNumber;
// Code to reverse a number
for( ;a != 0; a /= 10 )
{ System.out.println("Input Number "+a);
lastDigit=a%10; //getting remainder
System.out.println("Last Digit "+lastDigit);
System.out.println("Digit "+lastDigit+ " was added to sum "+(sum*10));
sum=(sum*10)+lastDigit;
a=a/10;
}
// if given number equal to sum than number is palindrome otherwise not palindrome
if(sum==inputNumber)
System.out.println("Number is palindrome ");
else
System.out.println("Number is not palindrome");
}
}
รหัสเอาท์พุท:
Input Number 185 Last Digit 5 Digit 5 was added to sum 0 Input Number 1 Last Digit 1 Digit 1 was added to sum 50 Number is not palindrome
