Java Program for Common Divisors of Two Numbers

Given two integer numbers, the task is to find the count of all common divisors of given numbers?

Input : a = 12, b = 24
Output: 6
// all common divisors are 1, 2, 3,
// 4, 6 and 12

Input : a = 3, b = 17
Output: 1
// all common divisors are 1

Input : a = 20, b = 36
Output: 3
// all common divisors are 1, 2, 4

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

 // Java implementation of program    class Test {     // method to calculate gcd of two numbers     static int gcd(int a, int b)     {         if (a == 0)             return b;            return gcd(b % a, a);     }     // method to calculate all common divisors     // of two given numbers     // a, b --> input integer numbers     static int commDiv(int a, int b)     {         // find gcd of a, b         int n = gcd(a, b);            // Count divisors of n.         int result = 0;         for (int i = 1; i <= Math.sqrt(n); i++) {             // if 'i' is factor of n             if (n % i == 0) {                 // check if divisors are equal                 if (n / i == i)                     result += 1;                 else                     result += 2;             }         }         return result;     }        // Driver method     public static void main(String args[])     {         int a = 12, b = 24;         System.out.println(commDiv(a, b));     } }

Output:

6

Please refer complete article on Common Divisors of Two Numbers for more details!

My Personal Notes arrow_drop_up

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.