![]() |
VOOZH | about |
Given two positive numbers x and y. Find the maximum valued integer a such that:
Examples :
Input : x = 15 y = 3 Output : a = 5 Explanation: 5 is the max integer which satisfies both the conditions. 15 % 5 =0 gcd(5, 3) = 1 Hence, output is 5. Input : x = 14 y = 28 Output : a = 1 Explanation: 14 % 1 =0 gcd(1, 28) = 1 Hence, output is 1.
Approach: Here, first we will remove the common factors of x and y from x by finding the greatest common divisor (gcd) of x and y and dividing x with that gcd.
Mathematically:
x = x / gcd(x, y) —— STEP1
Now, we repeat STEP1 till we get gcd(x, y) = 1.
At last, we return a = x
Algorithm:
Step 1: Define a function named gcd to find gcd of two numbers a and b.
Step 2: If a or b is equal to 0, return 0. If a is equal to b, return a.
Step 3: If a is greater than b, return gcd(a-b, b).
Step 4: If b is greater than a return gcd(a b-a).
Step 5: Define a function named cpFact to find the largest coprime divisor of two numbers x and y.
Step 6: While gcd(x, y) is not equal to 1, divide x by gcd(x,y).
Step 7: Return x as the largest coprime divisor.
below is the code implementation of the above approach:
Output :
5 1 7