Make three numbers Zero in Python

PythonServer Side ProgrammingProgramming

Let us suppose we have three numbers. The task is to count the total number of optimal steps to make all these numbers '0'.

For Example

Input-1:

a = 4
b = 4
c = 6

Output:

7

Explanation:

The total number of optimal steps to make all the numbers '0' is,

(4, 4, 6)

Removing '1' from 1st and 2nd number = (3, 3, 6)

Removing '1' from 1st and 3rd number = (2, 3, 5)

Removing '1' from 1st and 3rd number = (1 ,3, 4)

Removing '1' from 1st and 3rd number = (0 ,3 ,3)

Removing '1' from 2nd and 3rd number = (0 ,2, 2)

Removing '1' from 2nd and 3rd number = (0, 1, 1)

Removing '1' from 2nd and 3rd number = (0, 0, 0)

Thus, the total number of steps to make all the numbers zero is '7'

Approach to solve this Problem

To solve this particular problem, we will remove '1' from any two numbers such that the sum of these two numbers is greater than the last one. To find the minimum steps to make it zero, we will calculate the minimum number of steps.

  • Take three numbers as the input.
  • Sort the numbers in increasing order using the sort
  • Check if the sum of two numbers is less than the third number, then return the sum.
  • Since each time, we are removing '1' from any two numbers, it will take (n1+n2+n3)/2 steps to make all the numbers '0'.

Example

Live Demo

def maxScore(a: int, b: int, c: int):
   a, b, c = sorted((a, b, c))
   if a + b < c: return a + b
   return (a + b + c)//2
a=4
b=4
c=6
print(maxScore(a,b,c))      

Running the above code will generate the output as,

Output

7

For the given inputs a=4, b=4 and c=6, it will take seven steps to make all the numbers '0'. Hence, the program returns 7 as the output.

raja
Published on 23-Feb-2021 05:36:28
Advertisements