โปรแกรมเลขพาลินโดรม 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

สรุปโพสต์นี้ด้วย: