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 <bits/stdc++.h> ` `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; ` `} ` |

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

## Python3

`# Python 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 ` ` ` `a ` `=` `10` `b ` `=` `20` `n ` `=` `5` ` ` `print` `(numberOfDays(a, b, n)) ` ` ` `# This code is contributed by ihritik ` |

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

**Output:**

10

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.

## Recommended Posts:

- Number of hours after which the second person moves ahead of the first person if they travel at a given speed
- Minimum time required to complete exactly K tasks based on given order of task execution
- Number of array elements derivable from D after performing certain operations
- Minimum moves taken to move coin of each cell to any one cell of Matrix
- Count of ways to distribute N items among 3 people with one person receiving maximum
- Program to find total number of edges in a Complete Graph
- Biggest number by arranging numbers in certain order
- Total ways of choosing X men and Y women from a total of M men and W women
- Date after adding given number of days to the given date
- Find the day of the week after K days from the given day
- Largest number by which given 3 numbers should be divided such that they leaves same remainder
- Largest number less than or equal to Z that leaves a remainder X when divided by Y
- Mimimum number of leaves required to be removed from a Tree to satisfy the given condition
- Maximum number of 3-person teams formed from two groups
- Number of different positions where a person can stand
- Permutations of n things taken r at a time with k things together
- Time taken by two persons to meet on a circular track
- Time taken per hour for stoppage of Car
- Permutations of n things taken all at a time with m things never come together
- Find if the Vacation can be taken or not

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.