Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

रिकर्सिव फंक्शन का उपयोग करके x की n घात का मान उत्पन्न करने के लिए C प्रोग्राम


समस्या

xn का मान गणना करें, जहां x और n दोनों उपयोगकर्ता द्वारा रनटाइम पर दिए गए इनपुट हैं।

समाधान

C प्रोग्रामिंग भाषा में रिकर्सिव फंक्शन का उपयोग करके x की n घात का मान उत्पन्न करने का समाधान निम्नानुसार है:

xn ज्ञात करने का तर्क नीचे दिया गया है:

//कॉलिंग फंक्शन: Xpow=power(x,n); //कॉल्ड फंक्शन: if (n==1)    return(x); else if ( n%2 == 0)    return (pow(power(x,n/2),2)); /*यदि n सम है*/ else    return (x*power(x, n-1));

एल्गोरिदम

रिकर्सिव फंक्शन का उपयोग करके x की n घात का मान उत्पन्न करने के लिए नीचे दिए गए एल्गोरिदम का संदर्भ लें।

चरण 1 - लॉन्ग इंट वेरिएबल्स पढ़ें

चरण 2 - फंक्शन प्रोटोटाइप घोषित करें

चरण 3 - फंक्शन कॉल करें

Xpown=power(x,n) goto step 5

चरण 4 - xpown प्रिंट करें

चरण 5 - कॉल्ड फंक्शन

   चरण 5.1 - यदि (n==1)

      चरण 5.1.1 - return(x)

   चरण 5.2 - अन्यथा यदि (n%2 == 0)

      चरण 5.2.1 - Return (pow(power(x,n/2),2)); /*यदि n सम है*/

   चरण 5.3 - अन्यथा

      चरण 5.3.1 - Return (x*power (x, n-1)); /*यदि n विषम है*/

प्रोग्राम

निम्नलिखित C प्रोग्राम रिकर्सिव फंक्शन का उपयोग करके x की n घात का मान उत्पन्न करने के लिए है:

#include <stdio.h> #include <math.h> void main(){    long int x, n, xpown;    long int power(int x, int n);    printf("Enter the values of X and N: \n");    scanf("%ld %ld", &x, &n);    xpown = power (x, n);    printf("X to the power N = %ld\n",xpown); } /*रिकर्सिव फंक्शन X की N घात की गणना करने के लिए*/ long int power(int x, int n){    if (n==1)       return(x);    else if ( n%2 == 0)       return (pow(power(x,n/2),2)); /*यदि n सम है*/    else       return (x*power(x, n-1)); /*यदि n विषम है*/ }

आउटपुट

जब उपरोक्त प्रोग्राम निष्पादित होता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है:

Enter the values of X and N: 5 4 X to the power N = 625

  1. - जावास्क्रिप्ट में iota(i) की nवीं घात का मान लौटाना

    समस्याहमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक संख्या लेता है। हमारा फ़ंक्शन निम्न का मान लौटाएगा:(i)nयहां,i = -11/2इसलिए,i^2 = -1 i^3 = -i i^4 = 1 और इसी तरहउदाहरणनिम्न कोड देखें:const num = 657; const findNthPower = (num = 1) => {    switch(num % 4){       case 0: &

  1. - फंक्शन में पॉइंटर्स का उपयोग करके योग और अंतर ज्ञात करने के लिए C प्रोग्राम

    मान लीजिए हमारे पास दो संख्याएं a और b हैं। हमें एक फंक्शन परिभाषित करना है जो (a + b) और (a - b) दोनों की गणना कर सके। लेकिन C में एक फंक्शन का उपयोग करके, हम अधिकतम एक मान वापस कर सकते हैं। एक से अधिक आउटपुट ज्ञात करने के लिए, हम फंक्शन आर्गुमेंट में पॉइंटर्स का उपयोग करके आउटपुट पैरामीटर्स का उपय

  1. रिकर्सिव फंक्शन का उपयोग करके संख्याओं का GCD खोजने का C प्रोग्राम रिकर्सिव फंक्शन का उपयोग करके संख्याओं का GCD खोजने का C प्रोग्राम

    समस्या C प्रोग्रामिंग भाषा में रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं के लिए महत्तम सामान्य भाजक (GCD) खोजें। समाधान रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं के लिए महत्तम सामान्य भाजक (GCD) खोजने का समाधान निम्नानुसार है: एल्गोरिथम रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं क