1 条题解
-
0
C++ :
#include <cstdio> /* 输出 1..n 中「首位数字为偶数」的回文数,一行一个(样例显示是一行空格分隔, 这里按样例:一行内用空格分隔 —— 但样例输出 '2 4 6 8 22 44 66 88 202 212 222' 是一个数字串,说明是同一行空格分隔。 */ static int dig[16]; int main(){ int n; if(scanf("%d", &n) != 1) return 0; int first = 1; for(int x = 1; x <= n; x++){ int L = 0, t = x; while(t){ dig[L++] = t % 10; t /= 10; } int ok = 1; for(int i=0, j=L-1; i<j; i++, j--) if(dig[i] != dig[j]){ ok = 0; break; } if(!ok) continue; if(dig[L-1] % 2) continue; /* 首位必须是偶数 */ if(!first) putchar(' '); printf("%d", x); first = 0; } putchar('\n'); return 0; }
- 1
信息
- ID
- 2706
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者