Open In App

Find the number which when added to the given ratio a : b, the ratio changes to c : d

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Given four integers a, b, c and d. The task is to find the number X which when added to the numbers a and b the ratio changes from a : b to c : d.
Examples: 
 

Input: a = 3, b = 6, c = 3, d = 4 
Output:
When 6 is added to a and b 
a = 3 + 6 = 9 
b = 6 + 6 = 12 
And, the new ratio will be 9 : 12 = 3 : 4
Input: a = 2, b = 3, c = 4, d = 5 
Output:
 

 

Approach: Old ratio is a : b and new ratio is c : d. Let the required number be X
So, (a + X) / (b + X) = c / d 
or, ad + dx = bc + cx 
or, x(d – c) = bc – ad 
So, x = (bc – ad) / (d – c) 
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
// required number X
int getX(int a, int b, int c, int d)
{
    int X = (b * c - a * d) / (d - c);
    return X;
}
 
// Driver code
int main()
{
    int a = 2, b = 3, c = 4, d = 5;
 
    cout << getX(a, b, c, d);
 
    return 0;
}


Java




// Java implementation of the approach
import java.io.*;
 
class GFG
{
     
// Function to return the
// required number X
static int getX(int a, int b, int c, int d)
{
    int X = (b * c - a * d) / (d - c);
    return X;
}
 
// Driver code
public static void main (String[] args)
{
 
    int a = 2, b = 3, c = 4, d = 5;
    System.out.println (getX(a, b, c, d));
 
}
}
 
// The code is contributed by ajit..@23


Python




# Python3 implementation of the approach
 
# Function to return the
# required number X
def getX(a, b, c, d):
 
    X = (b * c - a * d) // (d - c)
    return X
 
# Driver code
 
a = 2
b = 3
c = 4
d = 5
 
print(getX(a, b, c, d))
 
# This code is contributed by mohit kumar 29


C#




// C# implementation of the approach
using System;
 
class GFG
{
     
// Function to return the
// required number X
static int getX(int a, int b, int c, int d)
{
    int X = (b * c - a * d) / (d - c);
    return X;
}
 
// Driver code
static public void Main ()
{
    int a = 2, b = 3, c = 4, d = 5;
    Console.Write(getX(a, b, c, d));
}
}
 
// The code is contributed by Tushil.


Javascript




<script>
// javascript implementation of the approach
   
// Function to return the
// required number X
function getX(a , b , c , d)
{
    var X = (b * c - a * d) / (d - c);
    return X;
}
 
// Driver code
 
var a = 2, b = 3, c = 4, d = 5;
document.write(getX(a, b, c, d));
 
// This code is contributed by 29AjayKumar
</script>


Output: 

2

 

Time Complexity: O(1), since there is a basic arithmetic operation that takes constant time.

Auxiliary Space: O(1), since no extra space has been taken.



Last Updated : 31 May, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads