কম্পিউটার

রিকার্সিভ ইউক্লিড অ্যালগরিদম ব্যবহার করে দুটি সংখ্যার GCD খুঁজে বের করার জন্য C++ প্রোগ্রাম


দুটি সংখ্যার সর্বশ্রেষ্ঠ সাধারণ ভাজক (GCD) হল সবচেয়ে বড় সংখ্যা যা তাদের উভয়কে ভাগ করে।

উদাহরণস্বরূপ:ধরা যাক আমাদের দুটি সংখ্যা আছে যেগুলি হল 63 এবং 21৷

63 = 7 * 3 * 3
21 = 7 * 3

সুতরাং, 63 এবং 21 এর GCD হল 21।

পুনরাবৃত্ত ইউক্লিডের অ্যালগরিদম একজোড়া ধনাত্মক পূর্ণসংখ্যা a এবং b ব্যবহার করে GCD গণনা করে এবং b শূন্য না হওয়া পর্যন্ত b এবং a%b ফেরত দেয়।

পুনরাবৃত্ত ইউক্লিডের অ্যালগরিদম ব্যবহার করে দুটি সংখ্যার GCD খুঁজে বের করার জন্য একটি প্রোগ্রাম নিম্নরূপ দেওয়া হয়েছে -

উদাহরণ

#include <iostream>
using namespace std;
int gcd(int a, int b) {
   if (b == 0)
   return a;
   return gcd(b, a % b);
}
int main() {
   int a , b;
   cout<<"Enter the values of a and b: "<<endl;
   cin>>a>>b;
   cout<<"GCD of "<< a <<" and "<< b <<" is "<< gcd(a, b);
   return 0;
}

আউটপুট

উপরের প্রোগ্রামটির আউটপুট নিম্নরূপ -

Enter the values of a and b: 105 30
GCD of 105 and 30 is 15

উপরের প্রোগ্রামে, gcd() একটি পুনরাবৃত্ত ফাংশন। এর দুটি পরামিতি রয়েছে যেমন a এবং b। যদি b 0 এর সমান হয়, তাহলে a প্রধান() ফাংশনে ফিরে আসবে। অন্যথায় gcd() ফাংশনটি পুনরাবৃত্তিমূলকভাবে b এবং a%b মানগুলির সাথে নিজেকে কল করে। এটি নিম্নলিখিত কোড স্নিপেট −

দ্বারা প্রদর্শিত হয়
int gcd(int a, int b) {
   if (b == 0)
   return a;
   return gcd(b, a % b);
}

main() ফাংশনে, a এবং b এর মান ব্যবহারকারীর কাছ থেকে অনুরোধ করা হয়। তারপর gcd() ফাংশন বলা হয় এবং a এবং b এর GCD এর মান প্রদর্শিত হয়। এটি নীচে দেখা যাচ্ছে -

int main() {
   int a , b;
   cout<<"Enter the values of a and b: "<<endl;
   cin>>a>>b;
   cout<<"GCD of "<< a <<" and "<< b <<" is "<< gcd(a, b);
   return 0;
}

  1. দুটি সংখ্যার GCD খুঁজুন

  2. সি প্রোগ্রাম নন-রিকারসিভ ফাংশন ব্যবহার করে সংখ্যার GCD খুঁজে বের করতে

  3. পুনরাবৃত্ত ফাংশন ব্যবহার করে সংখ্যার GCD খুঁজে বের করতে C প্রোগ্রাম

  4. দুটি সংখ্যার GCD খুঁজে পেতে জাভা প্রোগ্রাম