Skip to content
Related Articles

Related Articles

Improve Article
Program to find the common ratio of three numbers
  • Last Updated : 01 Apr, 2021

Given a:b and b:c. The task is to write a program to find ratio a:b:c
Examples: 
 

Input: a:b = 2:3, b:c = 3:4
Output: 2:3:4

Input:  a:b = 3:4, b:c = 8:9
Output: 6:8:9

 

Approach: The trick is to make the common term ‘b’ equal in both ratios. Therefore, multiply the first ratio by b2 (b term of second ratio) and the second ratio by b1.
 

Given: a:b1 and b2:c 
Solution: a:b:c = (a*b2):(b1*b2):(c*b1)
For example: 
If a : b = 5 : 9 and b : c = 7 : 4, then find a : b : c.
Solution: 
Here, Make the common term ‘b’ equal in both ratios. 
Therefore, multiply the first ratio by 7 and the second ratio by 9. 
So, a : b = 35 : 63 and b : c = 63 : 36 
Thus, a : b : c = 35 : 63 : 36

Below is the implementation of the above approach: 
 

C++




// C++ implementation of above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to print a:b:c
void solveProportion(int a, int b1, int b2, int c)
{
    int A = a * b2;
    int B = b1 * b2;
    int C = b1 * c;
 
    // To print the given proportion
    // in simplest form.
    int gcd = __gcd(__gcd(A, B), C);
 
    cout << A / gcd << ":"
         << B / gcd << ":"
         << C / gcd;
}
 
// Driver code
int main()
{
 
    // Get the ratios
    int a, b1, b2, c;
 
    // Get ratio a:b1
    a = 3;
    b1 = 4;
 
    // Get ratio b2:c
    b2 = 8;
    c = 9;
 
    // Find the ratio a:b:c
    solveProportion(a, b1, b2, c);
 
    return 0;
}

Java




// Java implementation of above approach
 
import java.util.*;
import java.lang.*;
import java.io.*;
class GFG{
 
static int __gcd(int a,int b){
    return b==0 ? a : __gcd(b, a%b);
}   
 
// Function to print a:b:c
static void solveProportion(int a, int b1, int b2, int c)
{
    int A = a * b2;
    int B = b1 * b2;
    int C = b1 * c;
  
    // To print the given proportion
    // in simplest form.
    int gcd = __gcd(__gcd(A, B), C);
  
    System.out.print( A / gcd + ":"
         + B / gcd + ":"
         + C / gcd);
}
  
// Driver code
public static void  main(String args[])
{
  
    // Get the ratios
    int a, b1, b2, c;
  
    // Get ratio a:b1
    a = 3;
    b1 = 4;
  
    // Get ratio b2:c
    b2 = 8;
    c = 9;
  
    // Find the ratio a:b:c
    solveProportion(a, b1, b2, c);
}
}

Python 3




# Python 3 implementation
# of above approach
import math
 
# Function to print a:b:c
def solveProportion(a, b1, b2, c):
 
    A = a * b2
    B = b1 * b2
    C = b1 * c
 
    # To print the given proportion
    # in simplest form.
    gcd1 = math.gcd(math.gcd(A, B), C)
 
    print( str(A // gcd1) + ":" +
           str(B // gcd1) + ":" +
           str(C // gcd1))
 
# Driver code
if __name__ == "__main__":
 
    # Get ratio a:b1
    a = 3
    b1 = 4
 
    # Get ratio b2:c
    b2 = 8
    c = 9
 
    # Find the ratio a:b:c
    solveProportion(a, b1, b2, c)
 
# This code is contributed
# by ChitraNayal

C#




// C# implementation of above approach
using System;
 
class GFG
{
static int __gcd(int a,int b)
{
    return b == 0 ? a : __gcd(b, a % b);
}
 
// Function to print a:b:c
static void solveProportion(int a, int b1,
                            int b2, int c)
{
    int A = a * b2;
    int B = b1 * b2;
    int C = b1 * c;
 
    // To print the given proportion
    // in simplest form.
    int gcd = __gcd(__gcd(A, B), C);
 
    Console.Write( A / gcd + ":" +
                   B / gcd + ":" +
                   C / gcd);
}
 
// Driver code
public static void Main()
{
 
    // Get the ratios
    int a, b1, b2, c;
 
    // Get ratio a:b1
    a = 3;
    b1 = 4;
 
    // Get ratio b2:c
    b2 = 8;
    c = 9;
 
    // Find the ratio a:b:c
    solveProportion(a, b1, b2, c);
}
}
 
// This code is contributed
// by Akanksha Rai(Abby_akku)

PHP




<?php
// PHP implementation of above approach
 
function __gcd($a, $b)
{
    return $b == 0 ? $a : __gcd($b, $a % $b);
}
 
// Function to print a:b:c
function solveProportion($a, $b1, $b2, $c)
{
    $A = $a * $b2;
    $B = $b1 * $b2;
    $C = $b1 * $c;
 
    // To print the given proportion
    // in simplest form.
    $gcd = __gcd(__gcd($A, $B), $C);
 
    echo ($A / $gcd) . ":" .
         ($B / $gcd) . ":" . ($C / $gcd);
}
 
// Driver code
 
// Get the ratios
// Get ratio a:b1
$a = 3;
$b1 = 4;
 
// Get ratio b2:c
$b2 = 8;
$c = 9;
 
// Find the ratio a:b:c
solveProportion($a, $b1, $b2, $c);
 
// This code is contributed by mits
?>

Javascript




<script>
    // Javascript implementation of above approach
     
    function __gcd(a, b)
    {
        return b == 0 ? a : __gcd(b, a % b);
    }
 
    // Function to print a:b:c
    function solveProportion(a, b1, b2, c)
    {
        let A = a * b2;
        let B = b1 * b2;
        let C = b1 * c;
 
        // To print the given proportion
        // in simplest form.
        let gcd = __gcd(__gcd(A, B), C);
 
        document.write( A / gcd + ":" + B / gcd + ":" + C / gcd);
    }
 
    // Get the ratios
    let a, b1, b2, c;
   
    // Get ratio a:b1
    a = 3;
    b1 = 4;
   
    // Get ratio b2:c
    b2 = 8;
    c = 9;
   
    // Find the ratio a:b:c
    solveProportion(a, b1, b2, c);
     
    // This code is contributed by divyeshrabadiya07.
</script>
Output: 
6:8:9

 

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :