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 长春

上一篇下一篇

猜你喜欢

热点阅读