# Total number of days taken to complete the task if after certain days one person leaves

• Difficulty Level : Basic
• Last Updated : 13 Apr, 2021

Given that person A takes a days to do a certain piece of work while person B takes b days to do the same work. If A and B started the work together and n days before the completion of work, A leaves the work. Find the total number of days taken to complete work.

Examples:

Input: a = 10, b = 20, n = 5
Output: 10

Input: a = 5, b = 15, n = 3
Output: 6

Approach: Let D be the total number of days to complete the work. A and B work together for D – n days. So,

(D – n) * (1/a + 1/b) + (n) * (1/b) = 1
D * (1/a + 1/b) – (n/a) – (n/b) + (n/b) = 1
D * (1/a + 1/b) = (n + a) / a
D = b * (n + a) / (a + b)

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach` `#include ` `using` `namespace` `std;`   `// Function to return the` `// number of days required` `int` `numberOfDays(``int` `a, ``int` `b, ``int` `n)` `{` `    ``int` `Days = b * (n + a) / (a + b);`   `    ``return` `Days;` `}`   `// Driver code` `int` `main()` `{` `    ``int` `a = 10, b = 20, n = 5;`   `    ``cout << numberOfDays(a, b, n);`   `    ``return` `0;` `}`

## Java

 `// Java implementation of the approach` `import` `java.io.*;`   `class` `GFG ` `{` `    `  `// Function to return the` `// number of days required` `static` `int` `numberOfDays(``int` `a, ``int` `b, ``int` `n)` `{` `    ``int` `Days = b * (n + a) / (a + b);`   `    ``return` `Days;` `}`   `// Driver code` `public` `static` `void` `main (String[] args) ` `{`   `    ``int` `a = ``10``, b = ``20``, n = ``5``;` `    ``System.out.println (numberOfDays(a, b, n));`   `}` `}`   `// This code is contributed by jit_t`

## Python3

 `# Python3 implementation of the approach` ` `  `# Function to return the` `# number of days required` `def` `numberOfDays(a, b, n):`   `    ``Days ``=` `b ``*` `(n ``+` `a) ``/``/` `(a ``+` `b)` ` `  `    ``return` `Days`   `# Driver code` `if` `__name__ ``=``=` `"__main__"` `:`   `    ``a ``=` `10` `    ``b ``=` `20` `    ``n ``=` `5` ` `  `    ``print``(numberOfDays(a, b, n))`   `# This code is contributed by rrrtnx`

## C#

 `// C# implementation of the approach ` `using` `System;`   `class` `GFG ` `{ ` `    `  `    ``// Function to return the ` `    ``// number of days required ` `    ``static` `int` `numberOfDays(``int` `a, ``int` `b, ``int` `n) ` `    ``{ ` `        ``int` `Days = b * (n + a) / (a + b); ` `    `  `        ``return` `Days; ` `    ``} ` `    `  `    ``// Driver code ` `    ``public` `static` `void` `Main () ` `    ``{ ` `    `  `        ``int` `a = 10, b = 20, n = 5; ` `        ``Console.WriteLine(numberOfDays(a, b, n)); ` `    `  `    ``} ` `}`   `// This code is contributed by AnkitRai01`

## Javascript

 ``

Output:

`10`

Time Complexity: O(1 )

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up
Recommended Articles
Page :