Make three numbers Zero in Python

Let us suppose we have three numbers. The task is to count the total number of optimal steps to make all these numbers zero by repeatedly removing 1 from any two numbers at a time.

Problem Statement

Given three numbers, find the minimum number of steps to make all three numbers zero, where in each step you can subtract 1 from any two numbers.

Example

Input:

a = 4
b = 4  
c = 6

Output:

7

Step-by-step explanation:

  • Initial state: (4, 4, 6)
  • Step 1: Remove 1 from a and b ? (3, 3, 6)
  • Step 2: Remove 1 from a and c ? (2, 3, 5)
  • Step 3: Remove 1 from a and c ? (1, 3, 4)
  • Step 4: Remove 1 from a and c ? (0, 3, 3)
  • Step 5: Remove 1 from b and c ? (0, 2, 2)
  • Step 6: Remove 1 from b and c ? (0, 1, 1)
  • Step 7: Remove 1 from b and c ? (0, 0, 0)

Total steps required: 7

Algorithm

The optimal strategy depends on the relationship between the numbers:

  1. Sort the numbers in ascending order: a ? b ? c
  2. Check two cases:
    • If a + b
    • If a + b ? c: The maximum steps is (a + b + c) // 2 (we can balance the reductions)

Implementation

def min_steps_to_zero(a, b, c):
    # Sort the numbers in ascending order
    a, b, c = sorted([a, b, c])
    
    # If sum of two smaller numbers is less than the largest
    if a + b < c:
        return a + b
    
    # Otherwise, we can make all numbers zero in (sum // 2) steps
    return (a + b + c) // 2

# Test with the example
a = 4
b = 4
c = 6
result = min_steps_to_zero(a, b, c)
print(f"Minimum steps to make ({a}, {b}, {c}) zero: {result}")
Minimum steps to make (4, 4, 6) zero: 7

How It Works

The algorithm works based on two scenarios:

Condition Strategy Steps
a + b Reduce smaller numbers with largest a + b
a + b ? c Balance reductions optimally (a + b + c) // 2

Additional Examples

# Test different cases
test_cases = [(2, 3, 7), (5, 5, 5), (1, 2, 10)]

for a, b, c in test_cases:
    result = min_steps_to_zero(a, b, c)
    print(f"Numbers: ({a}, {b}, {c}) ? Steps: {result}")
Numbers: (2, 3, 7) ? Steps: 5
Numbers: (5, 5, 5) ? Steps: 7
Numbers: (1, 2, 10) ? Steps: 3

Conclusion

The minimum steps to make three numbers zero is determined by sorting them and checking if the sum of the two smaller numbers is less than the largest. This greedy approach ensures optimal step count by maximally utilizing each operation.

Updated on: 2026-03-25T16:45:40+05:30

386 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements