使用Python查找盒子中最大球数的程序

假设我们有一个球厂,其中有 n 个球,编号从 l 到 r(包括两者),并且有无数个从 1 编号到无穷大的盒子。因此,如果我们将每个球放入盒子中,其编号与球编号的数字之和相同。(例如,编号为 123 的球将放入编号为 1 + 2 + 3 = 6 的盒子中)。因此,如果我们有两个值 l 和 r,我们必须找到包含最多球的盒子中的球数。

因此,如果输入类似于 l = 15 r = 25,那么输出将为 2,因为

  • 球号 15 将被放入 1+5 = 6

  • 球号 16 将被放入 1+6 = 7

  • 球号 17 将被放入 1+7 = 8

  • 18号球将被放入1+8 = 9

  • 球号 19 将放入 1+9 = 10

  • 球号 20 将被放入 2+0 = 2

  • 球号 21 将被放入 2+1 = 3

  • 球号 22 将被放入 2+2 = 4

  • 球号 23 将被放入 2+3 = 5

  • 球号 24 将被放入 2+4 = 6

  • 球号 25 将被放入 2+5 = 7

所以框 6 和 7 包含最大数量的球,这就是为什么答案是 2

示例(Python)

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

def solve(l, r):
   dict={}
   for i in range(l, r+1):
      total=0
      for j in str(i):
         total += int(j)
      if(total not in dict):
         dict[total] = 0
      dict[total] += 1
   return max([dict[i] for i in dict])

l = 15
r = 25
print(solve(l, r))

输入

15, 25
输出结果
1

猜你喜欢