# Find amount to be added to achieve target ratio in a given mixture

You are given a container of X liters containing a mixture of wine and water. The mixture contains W% of water in it. How much liters of water must be added to increase the ratio of water to Y%?

Input contains 3 integers X, W and Y respectively.

The output should be in float format up to 2 decimal points.

**Examples:**

Input : X = 125, W = 20, Y = 25

Output : 8.33 liters

20% of 125 is 25. If we add 8.33 liters, we get 33.33 which is 25% of 133.33.Input : X = 100, W = 50, Y = 60

Output : 25

Let the amount of water to be added be A liters.

So, the new amount of mixture = (X + A) liters

And the amount of water in the mixture = (old amount + A) = ((W % of X ) + A )

Also, the amount of water in the mixture = new percentage of water in new mixture = Y % of (X + A)

Now, we can write the expression as

———————————

Y % of ( X + A) = W % of X + A

———————————-

Since, both denote the amount of water.

On simplifying this expression, we will get

A = [X * (Y – W)] / [100 – Y]Illustration :

X = 125, W = 20% and Y = 25%;So, for the given question, the amount of water to be added = (125 * (25 – 20)) / (100 – 25) = 8.33 liters

Below is the implementation of above approach:

## C

`// C program to find amount of water to ` `// be added to achieve given target ratio. ` `#include <stdio.h> ` ` ` `float` `findAmount(` `float` `X, ` `float` `W, ` `float` `Y) ` `{ ` ` ` `return` `(X * (Y - W)) / (100 - Y); ` `} ` ` ` `int` `main() ` `{ ` ` ` `float` `X = 100, W = 50, Y = 60; ` ` ` `printf` `(` `"Water to be added = %.2f "` `, ` ` ` `findAmount(X, W, Y)); ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java program to find amount of water to ` `// be added to achieve given target ratio. ` ` ` `public` `class` `GFG { ` ` ` ` ` `static` `float` `findAmount(` `float` `X, ` `float` `W, ` `float` `Y) ` ` ` `{ ` ` ` `return` `(X * (Y - W)) / (` `100` `- Y); ` ` ` `} ` ` ` ` ` ` ` `// Driver code ` ` ` `public` `static` `void` `main(String args[]) ` ` ` `{ ` ` ` `float` `X = ` `100` `, W = ` `50` `, Y = ` `60` `; ` ` ` `System.out.println(` `"Water to be added = "` `+ findAmount(X, W, Y)); ` ` ` ` ` ` ` `} ` ` ` `// This code is contributed by ANKITRAI1 ` `} ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 program to find amount ` `# of water to be added to achieve ` `# given target ratio. ` `def` `findAmount(X, W, Y): ` ` ` ` ` `return` `(X ` `*` `(Y ` `-` `W) ` `/` `(` `100` `-` `Y)) ` ` ` `X ` `=` `100` `W ` `=` `50` `; Y ` `=` `60` `print` `(` `"Water to be added"` `, ` ` ` `findAmount(X, W, Y)) ` ` ` `# This code is contributed ` `# by Shrikant13 ` |

*chevron_right*

*filter_none*

## C#

`// C# program to find amount of water to ` `// be added to achieve given target ratio. ` `using` `System; ` `class` `GFG ` `{ ` ` ` `public` `static` `double` `findAmount(` `double` `X, ` ` ` `double` `W, ` ` ` `double` `Y) ` `{ ` ` ` `return` `(X * (Y - W)) / (100 - Y); ` `} ` ` ` `// Driver code ` `public` `static` `void` `Main() ` `{ ` ` ` `double` `X = 100, W = 50, Y = 60; ` ` ` `Console.WriteLine(` `"Water to be added = {0}"` `, ` ` ` `findAmount(X, W, Y)); ` `} ` `} ` ` ` `// This code is contributed by Soumik ` |

*chevron_right*

*filter_none*

## PHP

**Output:**

Water to be added = 25.00

## Recommended Posts:

- Find the number which when added to the given ratio a : b, the ratio changes to c : d
- Program to find the quantity after mixture replacement
- Program to find amount of water in a given glass
- Find amount of water wasted after filling the tank
- Find out the minimum number of coins required to pay total amount
- Find if it is possible to get a ratio from given ranges of costs and quantities
- Program to find the common ratio of three numbers
- Find nth Fibonacci number using Golden ratio
- Find minimum moves to reach target on an infinite line
- Find probability that a player wins when probabilities of hitting the target are given
- Ratio of mth and nth terms of an A. P. with given ratio of sums
- Program to find the count of coins of each type from the given ratio
- Sum of two numbers if the original ratio and new ratio obtained by adding a given number to each number is given
- Find ΔX which is added to numerator and denominator both of fraction (a/b) to convert it to another fraction (c/d)
- Ratio Manipulations in C++ | Set 1 (Arithmetic)

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.