समस्या
गैर-पुनरावर्ती फ़ंक्शन का उपयोग करके दिए गए दो नंबरों के लिए सबसे बड़ा सामान्य भाजक (जीसीडी) खोजें।
समाधान
यह नीचे बताया गया है कि गैर-पुनरावर्ती फ़ंक्शन का उपयोग करके दिए गए दो नंबरों के लिए सबसे बड़ा सामान्य भाजक (जीसीडी) कैसे खोजें।
एल्गोरिदम
गैर-पुनरावर्ती फ़ंक्शन का उपयोग करके दिए गए दो नंबरों के लिए सबसे बड़ा सामान्य भाजक (जीसीडी) खोजने के लिए नीचे दिए गए एल्गोरिदम का संदर्भ लें।
चरण 1 - प्रारंभ करें
चरण 2 - पूर्णांक a और b पढ़ें
चरण 3 - फ़ंक्शन को कॉल करें G=GCD(a,b) चरण 6
चरण 4 - G मान प्रिंट करें
चरण 5 - रुकें
चरण 6 - कॉल किया गया फ़ंक्शन:GCD(a,b)
a. Initialize the i=1, j, remainder b. Remainder=i-(i/j*j) c. Remainder=0 return j else goto step 4 d. GCD(G,remainder) return to main program
फ़्लोचार्ट
गैर-पुनरावर्ती फ़ंक्शन का उपयोग करके दिए गए दो नंबरों के लिए सबसे बड़ा सामान्य भाजक (जीसीडी) खोजने के लिए एल्गोरिदम के लिए एक फ़्लोचार्ट नीचे दिया गया है।
उदाहरण
गैर-पुनरावर्ती फ़ंक्शन का उपयोग करके दिए गए दो नंबरों के लिए सबसे बड़ा सामान्य भाजक (GCD) खोजने के लिए C प्रोग्राम निम्नलिखित है। -
#include<stdio.h> #include<conio.h> #include<math.h> int gcdnonR(int i,int j){ int rem; rem=i-(i/j*j); if(rem==0) return j; else gcdnonR(j,rem); } void main(){ int a,b; printf("enter the two numbers:"); scanf("%d%d",&a,&b); printf("GCD of %d",gcdnonR(a,b)); getch(); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
enter the two numbers:10 30 GCD of 10