在Python中将数字分成最小数量的十进制二进制数的程序
假设我们有一个以字符串形式表示的数字n。我们必须找到所需最小十进制二进制数,使得它们的总和等于n。十进制二进制数是一个十进制数,其数字要么为0,要么为1。
因此,如果输入为n =“132”,则输出将为3,因为132是三个十进制二进制数(10+11+111)的和。
为了解决这个问题,我们将按照以下步骤进行 –
- result:= 1
- 对于n中的每个i
- 如果不在{0,1}中,则
- result:=结果和i的最大值
- 如果不在{0,1}中,则
- 返回结果
示例
让我们看一下以下实现,以更好地理解 –
def solve(n):
result = 1
for i in n:
if i not in {0,1}:
result = max(result, int(i))
return result
n ="132"
print(solve(n))
输入
132
输出
3