试题 基础练习 基础练习 特殊回文数
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
数据规模和约定
1<=n<=54。
Python 代码
n = int(input())
for num in range(2):
for a in range(1, 10):
for b in range(0, 10):
for c in range(0, 10):
if num == 0 and 2*a + 2*b + c == n:
print(a*10000 + b*1000 + c*100 + b*10 + a)
elif num == 1 and 2*a + 2*b + 2*c == n:
print(a * 100000 + b * 10000 + c * 1000 + c * 100 + b * 10 + a)
C/C++ 代码
#include <cstdio>
int main() {
int n;
scanf("%d", &n);
for (int num = 0; num < 2; ++num) {
for (int a = 1; a < 10; ++a) {
for (int b = 0; b < 10; ++b) {
for (int c = 0; c < 10; ++c) {
if (num == 0 && 2 * a + 2 * b + c == n) {
printf("%d\n", a * 10000 + b * 1000 + c * 100 + b * 10 + a);
} else if (num == 1 && 2*a + 2*b + 2*c == n) {
printf("%d\n", a * 100000 + b * 10000 + c * 1000 + c * 100 + b * 10 + a);
}
}
}
}
}
return 0;
}