# 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

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: **DSA Self Paced**. Become industry ready at a student-friendly price.

## 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
- Find the maximum angle at which we can tilt the bottle without spilling any water
- 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
- Minimum sprinklers required to water a rectangular park
- Measure one litre using two vessels and infinite water supply
- Find (1^n + 2^n + 3^n + 4^n) mod 5 | Set 2
- Find value of (1^n + 2^n + 3^n + 4^n ) mod 5
- Find the value of max(f(x)) - min(f(x)) for a given F(x)
- Find 2^(2^A) % B
- Find value of (n^1 + n^2 + n^3 + n^4) mod 5 for given n
- Find N from the value of N!
- Find the value of f(n) / f(r) * f(n-r)
- Find K such that |A - K| = |B - K|
- Find the value of N when F(N) = f(a)+f(b) where a+b is the minimum possible and a*b = N
- Find x, y, z that satisfy 2/n = 1/x + 1/y + 1/z

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.