
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
C++ Program for Common Divisors of Two Numbers
Here we will see how we can get the number of common divisors of two numbers. We are not going to find all common divisors, but we will count how many common divisors are there. If two numbers are like 12 and 24, then common divisors are 1, 2, 3, 4, 6, 12. So there are 6 common divisors, so the answer will be 6.
Algorithm
countCommonDivisor(a, b)
begin count := 0 gcd := gcd of a and b for i := 1 to square root of gcd, do if gcd is divisible by 0, then if gcd / i = i, then count := count + 1 else count := count + 2 enf if end if done return count end
Example
#include<iostream> #include<cmath> using namespace std; int gcd(int a, int b) { if (a == 0) return b; return gcd(b%a, a); } int countCommonDivisors(int a,int b) { int gcd_val = gcd(a, b); //get gcd of a and b int count = 0; for (int i=1; i<=sqrt(gcd_val); i++) { if (gcd_val%i==0) { // when'i' is factor of n if (gcd_val/i == i) //if two numbers are same count += 1; else count += 2; } } return count; } main() { int a = 12, b = 24; cout << "Total common divisors: " << countCommonDivisors(a, b); }
Output
The differences array: 6 5 10 1
Advertisements