# Find amount of water wasted after filling the tank

Given the volume **V** of a tank in liter. There is a pump which is filling the tank at speed of **M** liter per minute. There is a leakage at the bottom of the tank which wasting water at speed N liter per minute. Given N is less than M. The task is to calculate how much amount of water will be wasted if leakage is seen after filling the full tank.

**Examples:**

Input :V = 700, M = 10, N = 3Output :300Input :V = 1000, M = 100, N = 50Output :1000

**Approach :** Given the speed of filling pump is M liter per minute. So, the amount of water filled in one minute is M Liter. Also, N litres of water is wasted in a minute. Therefore after one minute the amount of water in the tank will be (M – N). Hence total time taken to fill the tank with leakage will be V / (M-N).

Therefore the amount of wasted water will be (V / (M-N)) * N.

Below is the implementation of the above approach:

## C++

`// C++ program to find the volume of water wasted ` ` ` `#include <iostream> ` `using` `namespace` `std; ` ` ` `// Function to calculate amount of wasted water ` `double` `wastedWater(` `double` `V, ` `double` `M, ` `double` `N) ` `{ ` ` ` `double` `wasted_amt, amt_per_min, time_to_fill; ` ` ` ` ` `// filled amount of water in one minute ` ` ` `amt_per_min = M - N; ` ` ` ` ` `// total time taken to fill the tank ` ` ` `// because of leakage ` ` ` `time_to_fill = V / amt_per_min; ` ` ` ` ` `// wasted amount of water ` ` ` `wasted_amt = N * time_to_fill; ` ` ` ` ` `return` `wasted_amt; ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `double` `V, M, N; ` ` ` `V = 700; ` ` ` `M = 10; ` ` ` `N = 3; ` ` ` `cout << wastedWater(V, M, N) << endl; ` ` ` ` ` `V = 1000; ` ` ` `M = 100; ` ` ` `N = 50; ` ` ` `cout << wastedWater(V, M, N) << endl; ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java program to find the ` `// volume of water wasted ` `class` `GFG ` `{ ` ` ` `// Function to calculate amount of wasted water ` `static` `double` `wastedWater(` `double` `V, ` `double` `M, ` `double` `N) ` `{ ` ` ` `double` `wasted_amt, amt_per_min, time_to_fill; ` ` ` ` ` `// filled amount of water in one minute ` ` ` `amt_per_min = M - N; ` ` ` ` ` `// total time taken to fill the tank ` ` ` `// because of leakage ` ` ` `time_to_fill = V / amt_per_min; ` ` ` ` ` `// wasted amount of water ` ` ` `wasted_amt = N * time_to_fill; ` ` ` ` ` `return` `wasted_amt; ` `} ` ` ` `// Driver code ` `public` `static` `void` `main(String[] args) ` `{ ` ` ` `double` `V, M, N; ` ` ` `V = ` `700` `; ` ` ` `M = ` `10` `; ` ` ` `N = ` `3` `; ` ` ` `System.out.println(wastedWater(V, M, N)) ; ` ` ` ` ` `V = ` `1000` `; ` ` ` `M = ` `100` `; ` ` ` `N = ` `50` `; ` ` ` `System.out.println(wastedWater(V, M, N)); ` `} ` `} ` ` ` `// This Code is Contributed by Code_Mech. ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 program to find the volume ` `# of water wasted ` ` ` `# Function to calculate amount ` `# of wasted water ` `def` `wastedWater(V, M, N): ` ` ` ` ` `# filled amount of water in one minute ` ` ` `amt_per_min ` `=` `M ` `-` `N ` ` ` ` ` `# total time taken to fill the tank ` ` ` `# because of leakage ` ` ` `time_to_fill ` `=` `V ` `/` `amt_per_min ` ` ` ` ` `# wasted amount of water ` ` ` `wasted_amt ` `=` `N ` `*` `time_to_fill ` ` ` ` ` `return` `wasted_amt ` ` ` `# Driver code ` `V ` `=` `700` `M ` `=` `10` `N ` `=` `3` `print` `(wastedWater(V, M, N)) ` ` ` `V ` `=` `1000` `M ` `=` `100` `N ` `=` `50` `print` `(wastedWater(V, M, N)) ` ` ` `# This code is contributed by Shrikant13 ` |

*chevron_right*

*filter_none*

## C#

`// C# program to find the ` `// volume of water wasted ` `using` `System; ` ` ` `class` `GFG ` `{ ` ` ` ` ` `// Function to calculate amount of wasted water ` ` ` `static` `double` `wastedWater(` `double` `V, ` `double` `M, ` `double` `N) ` ` ` `{ ` ` ` `double` `wasted_amt, amt_per_min, time_to_fill; ` ` ` ` ` `// filled amount of water in one minute ` ` ` `amt_per_min = M - N; ` ` ` ` ` `// total time taken to fill the tank ` ` ` `// because of leakage ` ` ` `time_to_fill = V / amt_per_min; ` ` ` ` ` `// wasted amount of water ` ` ` `wasted_amt = N * time_to_fill; ` ` ` ` ` `return` `wasted_amt; ` ` ` `} ` ` ` ` ` `// Driver code ` ` ` `public` `static` `void` `Main() ` ` ` `{ ` ` ` `double` `V, M, N; ` ` ` `V = 700; ` ` ` `M = 10; ` ` ` `N = 3; ` ` ` `Console.WriteLine(wastedWater(V, M, N)) ; ` ` ` ` ` `V = 1000; ` ` ` `M = 100; ` ` ` `N = 50; ` ` ` `Console.WriteLine(wastedWater(V, M, N)); ` ` ` `} ` `} ` ` ` `// This Code is Contributed by ihritik ` |

*chevron_right*

*filter_none*

## PHP

`<?php ` ` ` `// PHP program to find the ` `// volume of water wasted ` ` ` `// Function to calculate amount of wasted water ` `function` `wastedWater(` `$V` `, ` `$M` `, ` `$N` `) ` `{ ` ` ` ` ` `// filled amount of water in one minute ` ` ` `$amt_per_min` `= ` `$M` `- ` `$N` `; ` ` ` ` ` `// total time taken to fill the tank ` ` ` `// because of leakage ` ` ` `$time_to_fill` `= ` `$V` `/ ` `$amt_per_min` `; ` ` ` ` ` `// wasted amount of water ` ` ` `$wasted_amt` `= ` `$N` `* ` `$time_to_fill` `; ` ` ` ` ` `return` `$wasted_amt` `; ` `} ` ` ` `// Driver code ` ` ` `$V` `= 700; ` `$M` `= 10; ` `$N` `= 3; ` `echo` `wastedWater(` `$V` `, ` `$M` `, ` `$N` `), ` `"\n"` `; ` ` ` `$V` `= 1000; ` `$M` `= 100; ` `$N` `= 50; ` `echo` `wastedWater(` `$V` `, ` `$M` `, ` `$N` `); ` ` ` `// This Code is Contributed by ihritik ` ` ` `?> ` |

*chevron_right*

*filter_none*

**Output:**

300 1000

## Recommended Posts:

- Program to check if water tank overflows when n solid balls are dipped in the water tank
- Program to find amount of water in a given glass
- Find amount to be added to achieve target ratio in a given mixture
- Find out the minimum number of coins required to pay total amount
- Fill array with 1's using minimum iterations of filling neighbors
- Program to check if tank will overflow, underflow or filled in given time
- Container with Most Water
- Measure one litre using two vessels and infinite water supply
- Find 2^(2^A) % B
- Find value of (1^n + 2^n + 3^n + 4^n ) mod 5
- Find the value of f(n) / f(r) * f(n-r)
- Find the value of max(f(x)) - min(f(x)) for a given F(x)
- Find value of (n^1 + n^2 + n^3 + n^4) mod 5 for given n
- Find (1^n + 2^n + 3^n + 4^n) mod 5 | Set 2
- Find x and y satisfying ax + by = n

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.