Given two integers A and B, the task is to find two co-prime numbers C1 and C2 such that C1 divides A and C2 divides B.
Input: A = 12, B = 16
Output: 3 4
12 % 3 = 0
16 % 4 = 0
gcd(3, 4) = 1
Input: A = 542, B = 762
Output: 271 381
Naive approach: A simple solution is to store all of the divisors of A and B then iterate over all the divisors of A and B pairwise to find the pair of elements which are co-prime.
Efficient approach: If an integer d divides gcd(a, b) then gcd(a / d, b / d) = gcd(a, b) / d. More formally, if num = gcd(a, b) then gcd(a / num, b / num) = 1 i.e. (a / num) and (b / num) are relatively co-prime.
So in order to find the required numbers, find gcd(a, b) and store it in a variable gcd. Now the required numbers will be (a / gcd) and (b / gcd).
Below is the implementation of the above approach:
- Find integers that divides maximum number of elements of the array
- Count of triplets (a, b, c) in the Array such that a divides b and b divides c
- Find the Smallest number that divides X^X
- Find a distinct pair (x, y) in given range such that x divides y
- Legendre's formula (Given p and n, find the largest x such that p^x divides n!)
- Find a number that divides maximum array elements
- Find maximum power of a number that divides a factorial
- Find the largest composite number that divides N but is strictly lesser than N
- Find element in array that divides all array elements
- Find the last digit when factorial of A divides factorial of B
- Largest number that divides x and is co-prime with y
- Check if the sum of digits of a number N divides it
- Minimum value that divides one number and divisible by other
- Check if a given number divides the sum of the factorials of its digits
- Count of numbers from the range [L, R] which contains at least one digit that divides K
- Smallest integer > 1 which divides every element of the given array
- Partitions possible such that the minimum element divides all the other elements of the partition
- Section formula (Point that divides a line in given ratio)
- Greatest divisor which divides all natural number in range [L, R]
- Highest power of 2 that divides a number represented in binary
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.