用 Python 将数字分区为最少数量的十进制二进制数的程序
假设我们有一个字符串格式的数字 n。我们必须找到所需的最小十进制二进制数,使得它们的和等于 n。十进制二进制数是一个十进制数,其数字要么是 0,要么是 1。
因此,如果输入类似于 n = "132",那么输出将是 3,因为 132 是三个十进制二进制数的和(10 + 11 + 111)。
为了解决这个问题,我们将遵循以下步骤 -
- 结果:= 1
- 对于 n 中的每个 i,执行
- 如果 i 不在 {0, 1} 中,则
- 结果:= 结果和 i 中的最大值
- 如果 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
广告