# Check whether two numbers are in silver ratio

• Last Updated : 16 Apr, 2021

Given two numbers A and B, the task is to check that A and B are in silver ratio.

Silver Ratio: Two numbers are said to be in silver ratio if the ratio of the sum of the smaller and twice the larger number to the larger number is the same as the ratio of the larger one to the smaller one. Below is the representation of the silver ratio: for A > 0, B > 0

Examples:

Input: A = 2.414, B = 1
Output: Yes
Explanation: Input: A = 1, B = 0.414
Output No
Explanation: Ratio of A to B do not form a golden ratio

Approach: The idea is to find two ratios and check whether they are equal to the silver ratio(2.414).

// Here A denotes the larger number Below is the implementation of the above approach:

## C++

 // C++ implementation to check// whether two numbers are in// silver ratio with each other#includeusing namespace std; // Function to check that two// numbers are in silver ratiobool checksilverRatio(float a, float b){         // Swapping the numbers such    // that A contains the maximum    // number between these numbers    if(a < b)        swap(a, b);         // First Ratio    float ratio1 = ((a / b) * 1000.0) / 1000.0;         // Second Ratio    float ratio2 = (int)(((2 * a + b) /                          a) * 1000);    ratio2 = ratio2 / 1000;         // Condition to check that two    // numbers are in silver ratio    if (ratio1 == ratio2 &&       (int)(ratio1 - 2.414) == 0)    {        cout << "Yes\n";        return true;    }    else    {        cout << "No\n";        return false;    }} // Driver Codeint main(){    float a = 2.414;    float b = 1;         // Function call    checksilverRatio(a, b);} // This code is contributed by ishayadav181

## Java

 // Java implementation to check// whether two numbers are in// silver ratio with each otherimport java.util.*;import java.lang.*; class GFG{ // Function to check that two// numbers are in silver ratiostatic boolean checksilverRatio(double a,                                double b){     // Swapping the numbers such    // that A contains the maximum    // number between these numbers    if (a < b)    {        a = a + b;        b = a - b;        a = a - b;    }     // First Ratio    double ratio1 = ((a / b) * 1000) / 1000;     // Second Ratio    double ratio2 = (int)(((2 * a + b) /                           a) * 1000);    ratio2 = ratio2 / 1000;     // Condition to check that two    // numbers are in silver ratio    if (ratio1 == ratio2 &&       (int)(ratio1 - 2.414) == 0)    {        System.out.println("Yes");        return true;    }    else    {        System.out.println("No");        return false;    }} // Driver Codepublic static void main(String[] args){    double a = 2.414;    double b = 1;     // Function call    checksilverRatio(a, b);}} // This code is contributed by jana_sayantan

## Python3

 # Python3 implementation to check# whether two numbers are in# silver ratio with each other # Function to check that two# numbers are in silver ratiodef checksilverRatio(a, b):         # Swapping the numbers such    # that A contains the maximum    # number between these numbers    a, b = max(a, b), min(a, b)         # First Ratio    ratio1 = round(a / b, 3)         # Second Ratio    ratio2 = round((2 * a + b)/a, 3)    # Condition to check that two    # numbers are in silver ratio    if ratio1 == ratio2 and\       ratio1 == 2.414:        print("Yes")        return True    else:        print("No")        return False         # Driver Codeif __name__ == "__main__":    a = 2.414    b = 1         # Function Call    checksilverRatio(a, b)

## C#

 // C# implementation to check// whether two numbers are in// silver ratio with each otherusing System; class GFG{ // Function to check that two// numbers are in silver ratiostatic bool checksilverRatio(double a,                             double b){     // Swapping the numbers such    // that A contains the maximum    // number between these numbers    if (a < b)    {        a = a + b;        b = a - b;        a = a - b;    }     // First Ratio    double ratio1 = ((a / b) * 1000) / 1000;     // Second Ratio    double ratio2 = (int)(((2 * a + b) /                        a) * 1000);    ratio2 = ratio2 / 1000;     // Condition to check that two    // numbers are in silver ratio    if (ratio1 == ratio2 &&       (int)(ratio1 - 2.414) == 0)    {        Console.WriteLine("Yes");        return true;    }    else    {        Console.WriteLine("No");        return false;    }} // Driver Codepublic static void Main(){    double a = 2.414;    double b = 1;     // Function call    checksilverRatio(a, b);}} // This code is contributed by sanjoy_62

## Javascript

 

Output:

Yes

References: https://en.wikipedia.org/wiki/Silver_ratio

My Personal Notes arrow_drop_up