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

*chevron_right*

*filter_none*

**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.