工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Javaで回文数を判定する:while文とfor文を使ったアルゴリズム

回文数とは

回文数とは、前から読んでも後ろから読んでも同じ数のことです。例として121、393、48084などがあります。これらは垂直軸対称性を持ち、アルゴリズムパズルでよく扱われます。

Javaでは、回文判定は面接問題やコーディング課題で頻出します。アルゴリズムはシンプルですが、複数の実装方法があります。

アルゴリズムの概要

while文を使った判定

以下は、while文を使って数を反転させ、回文数かどうかを判定する簡潔なJavaプログラムです。処理過程を理解しやすいよう中間ステップを出力します。

package com.guru99;
public class PalindromeNum {
    public static void main(String[] args) {
        int inputNumber = 171; // 判定する数
        int reversed = 0;
        int temp = inputNumber;
        while (temp > 0) {
            int lastDigit = temp % 10;
            reversed = (reversed * 10) + lastDigit;
            temp /= 10;
        }
        System.out.println("反転した数: " + reversed);
        if (reversed == inputNumber) {
            System.out.println("回文数です。");
        } else {
            System.out.println("回文数ではありません。");
        }
    }
}

実行結果

反転した数: 171
回文数です。

for文を使った判定

同じロジックをfor文で表現することもでき、ループカウンタをデクリメントする形でより自然に書ける場合があります。

package com.guru99;
public class PalindromeNum {
    public static void main(String[] args) {
        int inputNumber = 185; // 判定する数
        int reversed = 0;
        int temp = inputNumber;
        for (; temp > 0; temp /= 10) {
            int lastDigit = temp % 10;
            reversed = (reversed * 10) + lastDigit;
        }
        System.out.println("反転した数: " + reversed);
        if (reversed == inputNumber) {
            System.out.println("回文数です。");
        } else {
            System.out.println("回文数ではありません。");
        }
    }
}

実行結果

反転した数: 581
回文数ではありません。

考慮事項とベストプラクティス

詳細については、GeeksforGeeksおよびStack Overflowの数値反転に関する議論を参照してください。

Java

  1. C# while 文と do-while 文をマスターする:構文、例、ベストプラクティス
  2. C# for ループをマスターする:構文、フロー、実践例
  3. C++ forループ完全ガイド:ステップバイステップでマスター
  4. Pythonループ完全ガイド:for、while、break、continue、enumerate
  5. Java Hello World:最初のプログラム
  6. Java拡張forループをマスター:構文、例、ベストプラクティス
  7. Javaで素数判定を行うプログラム
  8. Javaで1から100までの素数を列挙するプログラム
  9. Javaでフィボナッチ数列を生成:for文、while文、再帰の実装例
  10. Javaでアームストロング数を判定・列挙するプログラム
  11. Javaで回文数を判定する:while文とfor文を使ったアルゴリズム