圆形数字


Submit solution

Points: 10
Time limit: 1.0s
Memory limit: 4M

Author:
Problem type
Allowed languages
C++

圆形数字

一个正整数(严格大于零)称为圆形数字,如果它的形式为 d00...0。换句话说,如果一个正整数除去最左边的(最高位的)数字之外,其他所有数字都是零,那么这个数字就是圆形数字。特别地,1到9的所有数字都是圆形数字。

例如,以下数字是圆形数字:4000、1、9、800、90。以下数字不是圆形数字:110、707、222、1001。

现在给定一个正整数 \(n\)(\(1 \le n \le 10^4\)),请将 \(n\) 表示为圆形数字的和,并使用最少的加数。换句话说,你需要将给定的数字 \(n\) 表示为最少数量的圆形数字之和。

输入格式

一个整数 \(n\)(\(1 \le n \le 10^4\))。

输出格式

输出一行,包含整数 \(n\) 最少的加数个数。然后输出圆形数字,它们的和为\(n\)。这些圆形数字的顺序可以任意。如果有多个解,输出其中一个即可。

输入
5009
输出
2
5000 9
解释

对于每个测试用例:
5009 可以分解为 5000 + 9,共两个圆形数字。


Comments

There are no comments at the moment.