इस लेख में, हम समझेंगे कि रिकर्सन का उपयोग करके शक्ति की गणना कैसे करें। एक पुनरावर्ती फ़ंक्शन एक ऐसा फ़ंक्शन है जो किसी विशेष स्थिति के संतुष्ट होने तक स्वयं को कई बार कॉल करता है।
एक पुनरावर्ती फ़ंक्शन एक ऐसा फ़ंक्शन है जो किसी विशेष स्थिति के संतुष्ट होने तक स्वयं को कई बार कॉल करता है।
पुनरावर्ती वस्तुओं को स्व-समान तरीके से दोहराने की प्रक्रिया है। प्रोग्रामिंग भाषाओं में, यदि कोई प्रोग्राम आपको उसी फ़ंक्शन के अंदर किसी फ़ंक्शन को कॉल करने की अनुमति देता है, तो इसे फ़ंक्शन का पुनरावर्ती कॉल कहा जाता है।
कई प्रोग्रामिंग भाषाएं स्टैक के माध्यम से रिकर्सन को लागू करती हैं। आम तौर पर, जब भी कोई फ़ंक्शन (कॉलर) किसी अन्य फ़ंक्शन (कैली) या स्वयं को कैली के रूप में कॉल करता है, तो कॉलर फ़ंक्शन कैली को निष्पादन नियंत्रण स्थानांतरित करता है। इस स्थानांतरण प्रक्रिया में कुछ डेटा भी शामिल हो सकता है जिसे कॉलर से कॉल करने वाले को भेजा जाना है।
नीचे उसी का एक प्रदर्शन है -
इनपुट
मान लीजिए हमारा इनपुट है -
संख्या और उसकी शक्ति 2 और 5 दर्ज करें
आउटपुट
वांछित आउटपुट होगा -
2^5 का परिणाम 32 है
एल्गोरिदम
चरण 1 - STARTचरण 2 - तीन पूर्णांक मान घोषित करें अर्थात् my_power, my_input और resultचरण 3 - उपयोगकर्ता से आवश्यक मान पढ़ें/मानों को परिभाषित करेंचरण 4 - एक पुनरावर्ती फ़ंक्शन 'getPower परिभाषित किया गया है जो इनपुट के रूप में दो पूर्णांक लेता है और लौटाता है इनपुट मान का उत्पाद मान स्वयं 'my_power' संख्या के साथ होता है। चरण 5 - फ़ंक्शन को पुनरावर्ती रूप से तब तक कहा जाता है जब तक कि 'my_power' का मान 0 से अधिक न हो। परिणाम संग्रहीत करें। चरण 6 - परिणाम प्रदर्शित करेंचरण 7 - रोकेंए> पूर्व>उदाहरण 1
यहां, उपयोगकर्ता द्वारा एक प्रॉम्प्ट के आधार पर इनपुट दर्ज किया जा रहा है। आप इस उदाहरण को हमारे कोडिंग ग्राउंड टूल में लाइव आज़मा सकते हैं ।
आयात java.util.Scanner;पब्लिक क्लास पावर {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) { int my_power, my_input, परिणाम; my_input =2; my_power =5; System.out.println ("आवश्यक पैकेज आयात किए गए हैं"); स्कैनर my_scanner =नया स्कैनर (System.in); System.out.println ("एक पाठक वस्तु को परिभाषित किया गया है"); System.out.print ("संख्या दर्ज करें:"); my_input =my_scanner.nextInt (); System.out.print ("पावर मान दर्ज करें:"); my_power =my_scanner.nextInt (); परिणाम =getPower (my_input, my_power); System.out.println ("+my_input + "^" + my_power + "का परिणाम" + परिणाम); } सार्वजनिक स्थैतिक int getPower (int my_input, int my_power) {if (my_power! =0) {वापसी (my_input * getPower (my_input, my_power - 1)); } और {वापसी 1; } }}आउटपुट
आवश्यक पैकेज आयात किए गए हैंएक रीडर ऑब्जेक्ट परिभाषित किया गया हैसंख्या दर्ज करें:2पावर मान दर्ज करें:52^5 का परिणाम 32 हैउदाहरण 2
यहां, पूर्णांक को पहले परिभाषित किया गया है, और इसके मान को एक्सेस किया जाता है और कंसोल पर प्रदर्शित किया जाता है।
पब्लिक क्लास पावर {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] तर्क) { int my_power, my_input, परिणाम; my_input =2; my_power =5; System.out.println ("संख्या और इसकी शक्ति को" + my_input + "और" + my_power) के रूप में परिभाषित किया गया है; परिणाम =getPower (my_input, my_power); System.out.println ("+my_input + "^" + my_power + "का परिणाम" + परिणाम); } सार्वजनिक स्थैतिक int getPower (int my_input, int my_power) {if (my_power! =0) {वापसी (my_input * getPower (my_input, my_power - 1)); } और {वापसी 1; } }}आउटपुट
संख्या और उसके घात को 2 और 5 के रूप में परिभाषित किया गया है, 2^5 का परिणाम 32 है