समस्या
C प्रोग्रामिंग भाषा में रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं के लिए महत्तम सामान्य भाजक (GCD) खोजें।
समाधान
रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं के लिए महत्तम सामान्य भाजक (GCD) खोजने का समाधान निम्नानुसार है:
एल्गोरिथम
रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं के लिए महत्तम सामान्य भाजक (GCD) खोजने के लिए नीचे दिया गया एल्गोरिथम देखें।
चरण 1 - रिकर्सिव फंक्शन परिभाषित करें।
चरण 2 - दो पूर्णांक a और b पढ़ें।
चरण 3 - रिकर्सिव फंक्शन कॉल करें।
a. यदि i > j b. तब पैरामीटर्स i, j के साथ फंक्शन वापस करें c. यदि i == 0 d. तब j वापस करें e. अन्यथा पैरामीटर्स i, j%i के साथ फंक्शन वापस करें।
फ्लो चार्ट
रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं के लिए GCD खोजने के लिए एक एल्गोरिथम का फ्लोचार्ट नीचे दिया गया है।

उदाहरण
निम्नलिखित C प्रोग्राम रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं के लिए महत्तम सामान्य भाजक (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