किसी संख्या की घात की गणना x^y के रूप में की जा सकती है जहाँ x संख्या है और y इसकी शक्ति है।
उदाहरण के लिए।
Let’s say, x = 2 and y = 10 x^y =1024 Here, x^y is 2^10
पुनरावर्ती और गैर-पुनरावर्ती कार्यक्रमों का उपयोग करके किसी संख्या की शक्ति की गणना की जा सकती है। इनमें से प्रत्येक इस प्रकार दिया गया है।
गैर-पुनरावर्ती प्रोग्राम का उपयोग करके किसी संख्या की शक्ति
एक गैर-पुनरावर्ती कार्यक्रम का उपयोग करके किसी संख्या की शक्ति को खोजने का कार्यक्रम इस प्रकार दिया गया है -
उदाहरण
#include<iostream> using namespace std; int power(int x, int y) { int i,power=1; if(y == 0) return 1; for(i=1;i<=y;i++) power=power*x; return power; } int main() { int x = 3; int y = 4; cout<<"x = "<<x<<endl;; cout<<"y = "<<y<<endl; cout<<"x^y = "<<power(x,y); return 0; }
x = 3 y = 4 x^y = 81
उपरोक्त प्रोग्राम में, फ़ंक्शन पावर () का उपयोग किसी संख्या की शक्ति की गणना के लिए किया जाता है। यह एक गैर-पुनरावर्ती कार्य है। फ़ंक्शन में, लूप के लिए उपयोग किया जाता है जो 1 से y तक चलता है। लूप के प्रत्येक पुनरावृत्ति के लिए, x को घात से गुणा किया जाता है।
तो, x को स्वयं y बार से गुणा किया जाता है और परिणाम शक्ति में जमा हो जाता है। इससे x^y को पावर में स्टोर किया जाता है। फिर बिजली मुख्य () फ़ंक्शन में वापस आ जाती है।
निम्नलिखित कोड स्निपेट इसे प्रदर्शित करता है -
int power(int x, int y) { int i, power = 1; if(y==0) return 1; for(i=1;i<=y;i++) power = power*x; return power; }
मुख्य () में, x, y और x^y के मान प्रदर्शित होते हैं। यह नीचे दिए गए कोड स्निपेट में दिखाया गया है -
cout<<"x = "<<x<<endl;; cout<<"y = "<<y<<endl; cout<<"x^y = "<<power(x,y);
पुनरावर्ती प्रोग्राम का उपयोग करके किसी संख्या की शक्ति
पुनरावर्ती प्रोग्राम का उपयोग करके किसी संख्या की घात ज्ञात करने का प्रोग्राम इस प्रकार दिया गया है।
उदाहरण
#include<iostream> using namespace std; int power(int x, int y) { if (y == 0) return 1; else if (y%2 == 0) return power(x, y/2)*power(x, y/2); else return x*power(x, y/2)*power(x, y/2); } int main() { int x = 3; int y = 4; cout<<"x = "<<x<<endl;; cout<<"y = "<<y<<endl; cout<<"x^y = "<<power(x,y); return 0; }
आउटपुट
x = 3 y = 4 x^y = 81
उपरोक्त कार्यक्रम में, शक्ति () एक पुनरावर्ती कार्य है। यदि y का मान 0 है, तो यह 1 लौटाता है। यदि y सम है, तो यह स्वयं को x और y/2 मानों के साथ पुनरावर्ती रूप से कॉल करता है और शक्ति (x, y/2) * शक्ति (x, y/2) देता है। यदि y विषम है, तो यह स्वयं को x और y/2 मानों के साथ पुनरावर्ती रूप से कॉल करता है और x*power(x, y/2)*power(x, y/2) देता है। यह निम्नलिखित कोड स्निपेट द्वारा प्रदर्शित किया जाता है।
int power(int x, int y) { if (y == 0) return 1; else if (y%2 == 0) return power(x, y/2)*power(x, y/2); else return x*power(x, y/2)*power(x, y/2); }. लौटाएं
मुख्य () में, x, y और x^y के मान प्रदर्शित होते हैं। यह नीचे दिए गए कोड स्निपेट में दिखाया गया है।
cout<<"x = "<<x<<endl;; cout<<"y = "<<y<<endl; cout<<"x^y = "<<power(x,y);