#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;
}
- 保存原始数字:original 保存当前数字 i 的原始值。check 用于逆序处理,避免修改原始数字。
- 逆序处理:使用 while 循环将 check 的最后一位提取出来,构建逆序数 reversed。
- 比较:比较 original 和 reversed,如果相等,说明是回文数。

京公网安备 11010502036488号