C++でn番目の回文数を出力する方法


まず、回文数を判定する関数を作成します。以下は、与えられた数が回文数かどうかを判定する関数の例です。

#include <iostream>
#include <string>
bool isPalindrome(int num) {
    std::string strNum = std::to_string(num);
    int start = 0;
    int end = strNum.length() - 1;

    while (start < end) {
        if (strNum[start] != strNum[end]) {
            return false;
        }
        start++;
        end--;
    }

    return true;
}

次に、n番目の回文数を出力する関数を作成します。この関数は、回文数を順番に生成し、n番目の回文数に到達したら出力します。

void printNthPalindrome(int n) {
    int count = 0;
    int num = 0;

    while (count < n) {
        if (isPalindrome(num)) {
            count++;
        }
        num++;
    }

    std::cout << "The " << n << "th palindrome number is: " << num - 1 << std::endl;
}

これで、n番目の回文数を出力する準備が整いました。以下のように関数を呼び出すことで、n番目の回文数を表示することができます。

int main() {
    int n;
    std::cout << "Enter the value of n: ";
    std::cin >> n;

    printNthPalindrome(n);

    return 0;
}

以上が、C++でn番目の回文数を出力する方法です。この方法を使用すると、指定された位置の回文数を簡単に見つけることができます。