- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# Program to find maximum number of balls in a box using Python

Suppose we have a ball factory where we have n balls numbered from l to r (both inclusive) and have an infinite number of boxes numbered from 1 to infinity. So if we put each ball in the box with a number same to the sum of digits of the ball's number. (As an example, the ball number 123 will be put in the box number 1 + 2 + 3 = 6). So if we have two values l and r, we have to find the number of balls in the box with the most balls.

So, if the input is like l = 15 r = 25, then the output will be 2 because

The ball number 15 will be put inside 1+5 = 6

The ball number 16 will be put inside 1+6 = 7

The ball number 17 will be put inside 1+7 = 8

The ball number 18 will be put inside 1+8 = 9

The ball number 19 will be put inside 1+9 = 10

The ball number 20 will be put inside 2+0 = 2

The ball number 21 will be put inside 2+1 = 3

The ball number 22 will be put inside 2+2 = 4

The ball number 23 will be put inside 2+3 = 5

The ball number 24 will be put inside 2+4 = 6

The ball number 25 will be put inside 2+5 = 7

so box 6 and 7 contains maximum number of balls, that's why answer is 2

To solve this, we will follow these steps −

dict:= a new map

for i in range l to r, do

total:= 0

for each digit j of i, do

total := total + j

if total is not present in dict, then

dict[total] := 0

dict[total] := dict[total] + 1

return maximum of all values for all keys in dict

## Example (Python)

Let us see the following implementation to get better understanding −

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))

## Input

15, 25

## Output

1

- Related Articles
- Program to find minimum number of operations to move all balls to each box in Python
- Program to find maximum profit by selling diminishing-valued colored balls in Python
- Program to find maximum number of coins we can get using Python
- Program to find maximum number of eaten apples in Python
- Program to find minimum limit of balls in a bag in Python
- Program to find maximum number of non-overlapping substrings in Python
- Program to find maximum number of balanced groups of parentheses in Python
- Python program using map function to find row with maximum number of 1's
- Program to find maximum number of non-overlapping subarrays with sum equals target using Python
- Program to find maximum population year using Python
- Program to find maximum number of coins we can collect in Python
- Program to find maximum number of groups getting fresh donuts in Python
- Program to find number of columns flips to get maximum number of equal Rows in Python?
- Python program using the map function to find a row with the maximum number of 1's
- Program to find maximum difference of any number and its next smaller number in Python