C++ 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

`// C++ implementation of program` `#include <bits/stdc++.h>` `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!

Want to learn from the best curated videos and practice problems, check out the

**C++ Foundation Course**for Basic to Advanced C++ and**C++ STL Course**for the language and STL. To complete your preparation from learning a language to DS Algo and many more, please refer**Complete Interview Preparation Course****.**