首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C++ 篩選 10 到 1000 之間的回文數完整原始碼

     編輯:程式設計疑難解答

問題背景

回文數是指正讀反讀都一樣的整數(如 121、1331)。本文提供一個標準 C++ 程式,可快速篩選出 10 到 1000 之間的所有回文數,適合初學者參考與移植。

核心演算法

對每個數字 m,透過取餘(% 10)與整除(/ 10)將其反轉為 n,若 m == n 則為回文數。

完整原始碼

#include <stdio.h>

int main() {
    int m, n, k;
    for (m = 10; m <= 1000; m++) {   // 題目要求從 10 開始
        k = m;
        n = 0;
        while (k > 0) {
            n = n * 10 + (k % 10);
            k = k / 10;
        }
        if (m == n)
            printf("%d ", m);
    }
    return 0;
}

執行結果

程式輸出:
11 22 33 44 55 66 77 88 99 101 111 121 131 141 151 161 171 181 191 202 212 222 232 242 252 262 272 282 292 303 313 323 333 343 353 363 373 383 393 404 414 424 434 444 454 464 474 484 494 505 515 525 535 545 555 565 575 585 595 606 616 626 636 646 656 666 676 686 696 707 717 727 737 747 757 767 777 787 797 808 818 828 838 848 858 868 878 888 898 909 919 929 939 949 959 969 979 989 999

擴充建議

  • 若需支援更大範圍,建議改用 long long 或字串反轉比較。
  • 可將判斷邏輯封裝為 bool isPalindrome(int x) 函式,提高複用性。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved