কম্পিউটার টিউটোরিয়াল

C++-এ দুটি সংখ্যার GCD বা HCF বের করার প্রোগ্রাম


সমস্যা বিবরণ

দুটি সংখ্যা দেওয়া থাকলে, তাদের GCD (Greatest Common Divisor) বা HCF (Highest Common Factor) বের করুন। এটি আগের আর্টিকেলের সমান কিন্তু ভিন্ন বেস কেস।

সমাধানের পদ্ধতি (ইউক্লিডিয়ান অ্যালগরিদম)

  1. বেস কেস: a==0 → b, b==0 → a, a==b → a।
  2. যদি a > b: gcd(a-b, b)
  3. অন্যথায়: gcd(a, b-a)

C++ কোড উদাহরণ

#include <iostream>
using namespace std;

int gcd(int a, int b) {
    if (a == 0) return b;
    if (b == 0) return a;
    if (a == b) return a;
    if (a > b) return gcd(a - b, b);
    return gcd(a, b - a);
}

int main() {
    int a = 98, b = 56;
    cout << "GCD of " << a << " and " << b << " is " << gcd(a, b);
    return 0;
}

আউটপুট

GCD of 98 and 56 is 14

জটিলতা

  • সাবট্রাকশন: O(max(a,b))
  • মডুলো ভার্সন: O(log min(a,b))
  1. C++ প্রোগ্রাম: GCD (মহত্তম সাধারণ ভাজক) নির্ণয়

  2. C++ প্রোগ্রাম: দুটি সংখ্যা সোয়াপ (Swap) করা

  3. C++ প্রোগ্রাম: দুটি সংখ্যা যোগ করা (Addition)

  4. জাভা প্রোগ্রাম: দুটি সংখ্যার GCD (মহत्तম সাধারণ ভাজক) নির্ণয়