সমস্যা
সি প্রোগ্রামিং ভাষায় রিকার্সিভ ফাংশন ব্যবহার করে দুটি সংখ্যার গ্রেটেস্ট কমন ডিভাইজার (GCD) বের করুন।
সমাধান
রিকার্সিভ ফাংশন ব্যবহার করে GCD বের করার সমাধান নিচে দেওয়া হল:
অ্যালগরিদম
রিকার্সিভ ফাংশন ব্যবহার করে GCD বের করার অ্যালগরিদম:
Step 1 − রিকার্সিভ ফাংশন ডিফাইন করুন।
Step 2 − দুটি ইন্টিজার a এবং b পড়ুন।
Step 3 − রিকার্সিভ ফাংশন কল করুন।
a. if i>j b. then return the function with parameters i,j c. if i==0 d. then return j e. else return the function with parameters i,j%i.
ফ্লো চার্ট
রিকার্সিভ ফাংশন ব্যবহার করে GCD বের করার অ্যালগরিদমের ফ্লো চার্ট:

উদাহরণ
রিকার্সিভ ফাংশন ব্যবহার করে দুটি সংখ্যার GCD বের করার সি প্রোগ্রাম:
#include<stdio.h> #include<math.h> unsigned int GCD(unsigned i, unsigned j); int main(){ int a,b; printf("Enter the two integers: \n"); scanf("%d%d",&a,&b); printf("GCD of %d and %d is %d\n",a,b,GCD(a,b)); return 0; } /* Recursive Function*/ unsigned int GCD(unsigned i, unsigned j){ if(j>i) return GCD(j,i); if(j==0) return i; else return GCD(j,i%j); }
আউটপুট
Enter the two integers: 4 8 GCD of 4 and 8 is 4