C++で整数の桁を逆にする方法


  1. 文字列を使用して桁を逆にする方法: 整数を文字列に変換し、文字列を逆順にすることで桁を逆にします。その後、逆順になった文字列を再度整数に変換します。

    #include <iostream>
    #include <string>
    #include <algorithm>
    int reverseDigits(int number) {
       std::string numberString = std::to_string(number);
       std::reverse(numberString.begin(), numberString.end());
       return std::stoi(numberString);
    }
    int main() {
       int number = 12345;
       int reversedNumber = reverseDigits(number);
       std::cout << "Reversed number: " << reversedNumber << std::endl;
       return 0;
    }
  2. 数値計算を使用して桁を逆にする方法: 整数の桁を逆にするために、数値計算を利用する方法もあります。以下のコードでは、与えられた整数を10で割り、余りを取ります。取得した余りを新たな整数に追加していき、元の整数を10で割っていく操作を繰り返します。

    #include <iostream>
    int reverseDigits(int number) {
       int reversedNumber = 0;
       while (number != 0) {
           int digit = number % 10;
           reversedNumber = reversedNumber * 10 + digit;
           number /= 10;
       }
       return reversedNumber;
    }
    int main() {
       int number = 12345;
       int reversedNumber = reverseDigits(number);
       std::cout << "Reversed number: " << reversedNumber << std::endl;
       return 0;
    }