题目:回文数是正着读与倒着读都一样的数,比如1221,343是回文数,433不是回文数。请输出不超过n的回文数。
输入一个数n (1<=n<=100000)
思路:不同层次的数有不同的规律,按照规律编写代码即可
#includeint main(void) { int n; scanf("%d", &n); for (int i = 1; i <= n; i++) { if (i < 10)//ok { printf("%dn", i); } else if (i >= 10 && i < 100)//ok { if (!(i % 11)) { printf("%dn", i); } } else if (i >= 100 && i < 1000) { if ((i % 10) == (i / 100)) { printf("%dn", i); } } else if (i >= 1000 && i < 10000) { if (((i % 10) == (i / 1000)) && (((i % 100 - i % 10)) / 10 == (i / 100 % 10))) { printf("%dn", i); } } else if (i >= 10000 && i < 100000) { if (((i % 10) == (i / 10000)) && (((i % 100 - i % 10)) / 10 == (i / 1000 % 10))) { printf("%dn", i); } } } return 0; }



