Given two integer and , the task is to find the count of common factors of two numbers where factors are prime.
Input: A = 6, B = 12
2 and 3 are the only common prime divisors of 6 and 12
Input: A = 4, B = 8
Naive Approach: Iterate from 1 to min(A, B) and check whether i is prime and a factor of both A and B, if yes then increment the counter.
Efficient Approach is to do following:
Below is the implementation of the above approach:
If there are multiple queries for counting common divisors, we can further optimize above code using Prime Factorization using Sieve O(log n) for multiple queries
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
- Common prime factors of two numbers
- Count numbers from range whose prime factors are only 2 and 3
- Count numbers from range whose prime factors are only 2 and 3 using Arrays | Set 2
- Count numbers in a range having GCD of powers of prime factors equal to 1
- Print all numbers whose set of prime factors is a subset of the set of the prime factors of X
- Count of Nodes whose both immediate children are its prime factors
- K-Primes (Numbers with k prime factors) in a range
- Find the row whose product has maximum count of prime factors
- Find and Count total factors of co-prime A or B in a given range 1 to N
- Number of distinct prime factors of first n natural numbers
- Count of nodes in a Binary Tree whose child is its prime factors
- Check if a number exists having exactly N factors and K prime factors
- Count of common multiples of two numbers in a range
- Count of numbers below N whose sum of prime divisors is K
- Count of subarrays having exactly K prime numbers
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.