Thursday, December 26, 2024
Google search engine
HomeData Modelling & AIFind amount to be added to achieve target ratio in a given...

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 many liters of water must be added to increase the ratio of water to Y%? 
The input includes 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 the 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. 
By 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 the above approach:  

C++




#include <iostream>
#include <iomanip>
using namespace std;
 
float findAmount(float X, float W, float Y) {
    return (X * (Y - W)) / (100 - Y);
}
 
int main() {
    float X = 100, W = 50, Y = 60;
    std::cout << "Water to be added = " << fixed << setprecision(2) << findAmount(X, W, Y);
    return 0;
}


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;
}   


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
}


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


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


Javascript




<script>
    // Javascript program to find amount of water to
    // be added to achieve given target ratio.
     
    function findAmount(X, W, Y)
    {
        return (X * (Y - W)) / (100 - Y);
    }
     
    let X = 100, W = 50, Y = 60;
    document.write("Water to be added = "+ findAmount(X, W, Y).toFixed(2));
 
</script>


PHP




<?php
// PHP program to find amount of water to
// be added to achieve given target ratio.
function findAmount($X, $W, $Y)
{
    return ($X * ($Y - $W)) / (100 - $Y);
}
 
// Driver Code
$X = 100; $W = 50; $Y = 60;
echo "Water to be added = " .
      findAmount($X, $W, $Y);
 
// This code is contributed
// by Akanksha Rai
?>


Output

Water to be added = 25.00

Time Complexity: O(1)

Auxiliary Space: O(1)

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

Last Updated :
09 Nov, 2023
Like Article
Save Article


Previous

<!–

8 Min Read | Java

–>


Next


<!–

8 Min Read | Java

–>

RELATED ARTICLES

Most Popular

Recent Comments