回文数プログラム Java while と for ループの使用
回文数とは何ですか?
A 回文番号 反転しても同じ数字が残る数字です。 たとえば、131 です。桁を反転しても、同じ数値のままです。 回文数は縦軸で鏡映対称になります。 文字を逆にしても同じ綴りになる単語を指します。
回文数の例 Java
121, 393, 34043, 111, 555, 48084
回文数の例
LOL, MADAM
回文数アルゴリズム
以下は回文数アルゴリズムのロジックです Java:
- であるかどうかを確認する必要がある入力番号を取得します。 回文
- 数値を一時変数にコピーし、それを元に戻します。
- 反転した数値と元の数値を比較します。
- 同じ場合の番号は「回文番号」
- それ以外の場合、数字は「回文数字」ではありません
入力された数値が回文かどうかを確認する方法
以下は回文プログラムです Java WHILEループ
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
forループを使って回文をチェックするプログラム
以下である Java forループを使用した回文のプログラム
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