圆形数字
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