Palindrome with % and and [ java ]
3951 ワード
数が文字列変換を使用してpalindromeされているかどうかを別の方法を使用できます.ここでは、モジュロ演算子と整数除算を使用してJavaでwhileループを持つアルゴリズムを探求したい.
それが左から右へ、そして、左から読むとき、それが同じであるならば、数はpalindromeです.例として: 1331は、palindromeです; 1234はそうではありません. したがって、我々は逆の数を見つけて、それが元のものに等しいかどうかチェックする必要があります.
whileループは、このシナリオに最適です.我々は元の数字を取るし、元の数字でそれを解体するつもりです.我々はこれらの逆numbnerを再構築するために使用します.
解決に行く前に、最初に言及する必要のあるいくつかのプロパティがあります.
モジュロ演算子は分割の剰余を返します.したがって、数% 10の場合、その数の最後の桁を持ちます.丸めは起こらない.
整数除算は剰余を破棄します.だから10で割った任意の整数は、単に残りの数を提供し、最後の桁を削除します.
このステップは、次の反復で、残りが正しいとなるように、異なる数を提供することが重要です.
上記のすべての論理を含む解決策の下で
それが左から右へ、そして、左から読むとき、それが同じであるならば、数はpalindromeです.例として:
whileループは、このシナリオに最適です.我々は元の数字を取るし、元の数字でそれを解体するつもりです.我々はこれらの逆numbnerを再構築するために使用します.
解決に行く前に、最初に言及する必要のあるいくつかのプロパティがあります.
モジュロ演算子は分割の剰余を返します.したがって、数% 10の場合、その数の最後の桁を持ちます.丸めは起こらない.
1123 MOD 10 = 3
1124 MOD 10 = 4
これは、任意の整数の最後の桁をつかむために使用する主なツールです.整数除算は剰余を破棄します.だから10で割った任意の整数は、単に残りの数を提供し、最後の桁を削除します.
このステップは、次の反復で、残りが正しいとなるように、異なる数を提供することが重要です.
上記のすべての論理を含む解決策の下で
public class Palindrome {
public static void main(String[] args) {
// hard-coding my numbers for ease of use
int num = 1771;
int temp = num;
int reversedNumber = 0;
while (temp > 0) {
// MOD division to get the last digit
int lastDigit = temp % 10;
// reversed number built by adding the last digit
// to the previous last digit multiplied by 10.
// We are shifting the numbers.
reversedNumber = reversedNumber * 10 + lastDigit;
// integer division that will equal to 0
// if the number is < 10 and
// consequently stopping the while loop.
temp = temp/10;
}
if (num == reversedNumber) {
System.out.println("It is a palindrome");
} else {
System.out.println("It is not a palindrome");
}
}
}
私はループ内の論理に魅了されますが、私はあなたがこのアプローチのことを知って教えてください.Reference
この問題について(Palindrome with % and and [ java ]), 我々は、より多くの情報をここで見つけました https://dev.to/anadamastor/palindrome-with-and-java-136hテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol