সমস্যা
C প্রোগ্রামিং ভাষায় রিকার্সিভ ফাংশন ব্যবহার করে প্রদত্ত দুটি সংখ্যার জন্য সর্বশ্রেষ্ঠ সাধারণ ভাজক (GCD) খুঁজুন।
সমাধান
রিকার্সিভ ফাংশন ব্যবহার করে প্রদত্ত দুটি সংখ্যার জন্য সর্বশ্রেষ্ঠ সাধারণ ভাজক (GCD) খুঁজে বের করার সমাধান হল −
অ্যালগরিদম
রিকার্সিভ ফাংশন ব্যবহার করে প্রদত্ত দুটি সংখ্যার জন্য সর্বশ্রেষ্ঠ সাধারণ ভাজক (GCD) খুঁজতে নীচে দেওয়া একটি অ্যালগরিদম পড়ুন৷
ধাপ 1 - পুনরাবৃত্ত ফাংশন সংজ্ঞায়িত করুন।
ধাপ 2 - দুটি পূর্ণসংখ্যা a এবং b পড়ুন।
ধাপ 3 - রিকার্সিভ ফাংশন কল করুন।
<পূর্ব> ক. যদি i>jb. তারপর i,jc পরামিতি সহ ফাংশন ফেরত দিন। যদি i==0d. তারপর je ফিরে. অন্যথায় i,j%i. পরামিতি সহ ফাংশনটি ফেরত দিনফ্লো চার্ট
রিকার্সিভ ফাংশন ব্যবহার করে প্রদত্ত দুটি সংখ্যার জন্য সর্বশ্রেষ্ঠ সাধারণ ভাজক (GCD) খুঁজে বের করার জন্য একটি অ্যালগরিদমের জন্য নীচে একটি ফ্লোচার্ট দেওয়া হয়েছে৷
উদাহরণ
পুনরাবৃত্ত ফাংশন ব্যবহার করে প্রদত্ত দুটি সংখ্যার জন্য সর্বশ্রেষ্ঠ সাধারণ ভাজক (GCD) খুঁজে বের করার জন্য C প্রোগ্রামটি নিচে দেওয়া হল −
#includeফেরত দিন#include unsigned int GCD(unsigned i, unsigned j);int main(){ int a,b; printf("দুটি পূর্ণসংখ্যা লিখুন:\ n"); scanf("%d%d",&a,&b); printf("%d এর GCD এবং %d হল %d\n",a,b,GCD(a,b)); রিটার্ন 0;}/* রিকার্সিভ ফাংশন*/আনসাইনড int GCD(আনসাইনড i, আনসাইনড j){ if(j>i) রিটার্ন GCD(j,i); if(j==0) রিটার্ন i; অন্যথায় GCD(j,i%j);}
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
দুটি পূর্ণসংখ্যা লিখুন:4 এর 8GCD এবং 8 হল 4