溫馨提示×

c++判斷回文數的方法是什么

c++
小億
671
2023-12-08 00:57:24
欄目: 編程語言

C++判斷回文數的方法有多種,以下為其中兩種常見的方法:

方法一:將整數轉換為字符串,然后比較字符串的首尾字符是否相同。

#include <iostream>
#include <string>

bool isPalindrome(int num) {
    std::string str = std::to_string(num);
    int left = 0;
    int right = str.length() - 1;
    
    while (left < right) {
        if (str[left] != str[right]) {
            return false;
        }
        left++;
        right--;
    }
    
    return true;
}

int main() {
    int num;
    std::cout << "請輸入一個整數:";
    std::cin >> num;
    
    if (isPalindrome(num)) {
        std::cout << "是回文數" << std::endl;
    } else {
        std::cout << "不是回文數" << std::endl;
    }
    
    return 0;
}

方法二:將整數倒序,然后判斷倒序后的整數是否與原整數相等。

#include <iostream>

bool isPalindrome(int num) {
    if (num < 0 || (num % 10 == 0 && num != 0)) {
        return false;
    }
    
    int reversedNum = 0;
    while (num > reversedNum) {
        reversedNum = reversedNum * 10 + num % 10;
        num /= 10;
    }
    
    return num == reversedNum || num == reversedNum / 10;
}

int main() {
    int num;
    std::cout << "請輸入一個整數:";
    std::cin >> num;
    
    if (isPalindrome(num)) {
        std::cout << "是回文數" << std::endl;
    } else {
        std::cout << "不是回文數" << std::endl;
    }
    
    return 0;
}

以上兩種方法都可以判斷一個整數是否為回文數,其中方法一需要將整數轉換為字符串進行比較,方法二則直接對整數進行倒序操作。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女