# 题目描述
# 给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:
# 给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。
# 现给定数字,请编写程序输出能够组成的最小的数。
# 输入描述:
# 每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一个空
# 格分隔。10个数字的总个数不超过50,且至少拥有1个非0的数字。
# 输出描述:
# 在一行中输出能够组成的最小的数。
# 输入例子:
# 2 2 0 0 0 3 0 0 1 0
# 输出例子:
# 10015558
a = input().split()
b = ["0","1","2","3","4","5","6","7","8","9"]
c = []
for i in range(0,10):
if int(a[i])!= 0:
c.append(b[i]*int(a[i]))
d = "".join(c)
f = []
for e in d :
f.append(e)
g = []
j = 0
if f[0] == "0":
while j < len(f):
if f[j] != "0":
g.append(f[j])
break
j += 1
f.remove(f[j])
for k in f:
g.append(k)
else:
g = f
print("".join(g))
1013.组个最小数 (20)
最新推荐文章于 2023-12-05 20:59:24 发布