VOOZH about

URL: https://www.geeksforgeeks.org/dsa/largest-number-divides-x-co-prime-y/

⇱ Largest number that divides x and is co-prime with y - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Largest number that divides x and is co-prime with y

Last Updated : 26 Mar, 2023

Given two positive numbers x and y. Find the maximum valued integer a such that: 
 

  1. a divides x i.e. x % a = 0
  2. a and y are co-prime i.e. gcd(a, y) = 1


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


 

Comment