Codeforces 1352A - Sum of Round
2020-05-13 本文已影响0人
费城的二鹏
伴着夕阳下班。
翻译
回合数的和
一个正整数,如果除了最左边那位不是0其余部分都是0,那么这个数字是回合数。
给你一个正整数,输出最少数量的回合数并且使他们的和为这个正整数。
输入格式
第一行输入正整数 t,表示测试用例个数。
每个测试用例,输入正整数 n。
输出格式
输出两行,第一行输出回合数的个数。
第二行输出每个回合数,并且用空格分开,如果有多组答案,可以输入任意顺序任意一组。
分析
最简单的就是每位都取出然后补零,这样可以得到几个符合要求的数字,输出即可。
代码(PyPy3)
# https://codeforces.com/problemset/problem/1352/A
import sys
# sys.stdin = open(r"./file/input.txt", 'r')
# sys.stdout = open(r"./file/output.txt", 'w')
t = int(input())
for _ in range(t):
n = int(input())
result = []
pos = 0
while n > 0:
if n % 10 > 0:
result.append((n % 10) * pow(10, pos))
n = int(n / 10)
pos += 1
print(len(result))
print(" ".join(str(i) for i in result))
更多代码尽在 https://github.com/Tconan99/Codeforces
by 费城的二鹏 2020.05.11 长春