用 Python 将数字分区为最少数量的十进制二进制数的程序


假设我们有一个字符串格式的数字 n。我们必须找到所需的最小十进制二进制数,使得它们的和等于 n。十进制二进制数是一个十进制数,其数字要么是 0,要么是 1。

因此,如果输入类似于 n = "132",那么输出将是 3,因为 132 是三个十进制二进制数的和(10 + 11 + 111)。

为了解决这个问题,我们将遵循以下步骤 -

  • 结果:= 1
  • 对于 n 中的每个 i,执行
    • 如果 i 不在 {0, 1} 中,则
      • 结果:= 结果和 i 中的最大值
  • 返回结果

实例

让我们看看以下实现以获得更好的理解 -

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

更新于:06-10-2021

460 次浏览

开启你的 职业

完成课程获取资格认证

开始
广告