এখানে আমরা দেখব কিভাবে আমরা দুটি সংখ্যার সাধারণ ভাজকের সংখ্যা পেতে পারি। আমরা সমস্ত সাধারণ ভাজক খুঁজে পাচ্ছি না, তবে আমরা গণনা করব কতগুলি সাধারণ ভাজক রয়েছে। যদি দুটি সংখ্যা 12 এবং 24 এর মত হয়, তাহলে সাধারণ ভাজক হল 1, 2, 3, 4, 6, 12। তাই 6 টি সাধারণ ভাজক আছে, তাই উত্তর হবে 6।
অ্যালগরিদম
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
উদাহরণ
#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); }
আউটপুট
The differences array: 6 5 10 1