#include <stdio.h>

int main() {
    int n, original, reversed = 0, check;
    scanf("%d", &n);

    for (int i = 1; i <= n; i++) {
        original = i;
        reversed = 0;
        check = i; // 备份当前数字
        while (check != 0) {
            reversed = reversed * 10 + check % 10;
            check /= 10;
        }
        if (original == reversed) {
            printf("%d\n", original);
        }
    }

    return 0;
}
  1. 保存原始数字:original 保存当前数字 i 的原始值。check 用于逆序处理,避免修改原始数字。
  2. 逆序处理:使用 while 循环将 check 的最后一位提取出来,构建逆序数 reversed。
  3. 比较:比较 original 和 reversed,如果相等,说明是回文数。