# C++ Program for Common Divisors of Two Numbers

• Difficulty Level : Medium
• Last Updated : 04 Dec, 2018

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

 `// C++ implementation of program ` `#include ` `using` `namespace` `std; ` ` `  `// Function to calculate gcd of two numbers ` `int` `gcd(``int` `a, ``int` `b) ` `{ ` `    ``if` `(a == 0) ` `        ``return` `b; ` `    ``return` `gcd(b % a, a); ` `} ` ` `  `// Function to calculate all common divisors ` `// of two given numbers ` `// a, b --> input integer numbers ` `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 <= ``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 program to run the case ` `int` `main() ` `{ ` `    ``int` `a = 12, b = 24; ` `    ``cout << commDiv(a, b); ` `    ``return` `0; ` `} `

Output:

```6
```

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

My Personal Notes arrow_drop_up
Recommended Articles
Page :