Given three positive integer L, R, G. The task is to find the count of the pair (x,y) having GCD(x,y) = G and x, y lie between L and R.
Input : L = 1, R = 11, G = 5 Output : 3 (5, 5), (5, 10), (10, 5) are three pair having GCD equal to 5 and lie between 1 and 11. So answer is 3. Input : L = 1, R = 10, G = 7 Output : 1
A simple solution is to go through all pairs in [L, R]. For every pair, find its GCD. If GCD is equal to g, then increment count. Finally return count.
An efficient solution is based on the fact that, for any positive integer pair (x, y) to have GCD equal to g, x and y should be divisible by g.
Observe, there will be at most (R – L)/g numbers between L and R which are divisible by g.
So we find numbers between L and R which are divisible by g. For this, we start from ceil(L/g) * g and with increment by g at each step while it doesn’t exceed R, count numbers having GCD equal to 1.
ceil(L/g) * g = floor((L + g - 1) / g) * g.
Below is the implementation of above idea :
This article is contributed by Anuj Chauhan. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Number of pairs from the first N natural numbers whose sum is divisible by K
- Count set bits in the Kth number after segregating even and odd from N natural numbers
- Fill the missing numbers in the array of N natural numbers such that arr[i] not equal to i
- Maximum LCM among all pairs (i, j) of first N natural numbers
- Count the numbers < N which have equal number of divisors as K
- Count of numbers whose sum of increasing powers of digits is equal to the number itself
- Divide first N natural numbers into 3 equal sum subsets
- Count pairs with set bits sum equal to K
- Count pairs from two arrays having sum equal to K
- Count natural numbers whose factorials are divisible by x but not y
- Count of pairs having bit size at most X and Bitwise OR equal to X
- Count all distinct pairs with product equal to K
- Count non decreasing subarrays of size N from N Natural numbers
- Find the count of natural Hexadecimal numbers of size N
- Count of pairs upto N such whose LCM is not equal to their product for Q queries
Improved By : vt_m