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

`// 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!

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.