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

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

समस्या

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

समाधान

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

x n . खोजने का तर्क नीचे उल्लेख किया गया है -

//Calling function:
Xpow=power(x,n);
//Called function:
if (n==1)
   return(x);
else if ( n%2 == 0)
   return (pow(power(x,n/2),2)); /*if n is even*/
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 - वापसी(x)

चरण 5.2 - और अगर (n%2 ==0)

चरण 5.2.1 -रिटर्न (पाउ(पावर(x,n/2),2)); /*अगर n सम है*/

चरण 5.3 - वरना

चरण 5.3.1 -रिटर्न (एक्स * पावर (एक्स, एन -1)); /* अगर n विषम है*/

कार्यक्रम

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

#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);
}
/*Recursive function to computer the X to power 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)); /*if n is even*/
   else
      return (x*power(x, n-1)); /* if n is odd*/
}

आउटपुट

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

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

  1. जावास्क्रिप्ट का उपयोग करके iota (i) की nth शक्ति का मान लौटाना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक संख्या लेता है। हमारे फ़ंक्शन को − . का मान वापस करना चाहिए (i)n यहाँ, i =-11/2 इसलिए, i^2 =-1i^3 =-ii^4 =1 और इसी तरह उदाहरण निम्नलिखित कोड है - {स्विच (संख्या% 4) {केस 0:रिटर्न 1; केस 1:वापसी मैं; केस 2:वापसी -1; केस 3:वापसी -i; };};consol

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

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

  1. सी प्रोग्राम रिकर्सिव फ़ंक्शन का उपयोग करके संख्याओं की जीसीडी खोजने के लिए

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