📌  相关文章
📜  程序找到三个数字的公比

📅  最后修改于: 2021-04-21 22:52:32             🧑  作者: Mango

给定a:b和b:c。任务是编写一个程序来查找比率a:b:c
例子:

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

方法:技巧是使通用术语“ b”在两个比率中相等。因此,将第一比率乘以b 2 (第二比率的b项),然后将第二比率乘以b 1

下面是上述方法的实现:

C++
// C++ implementation of above approach
#include 
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


Javascript


输出:
6:8:9