इस समस्या में, हमें दो पूर्णांक x और y दिए गए हैं। हमारा कार्य एक ऐसा फ़ंक्शन बनाना है जो एक पुनरावृत्त दृष्टिकोण का उपयोग करके पाउ (एक्स, वाई) के बराबर होगा जो कार्य को 0 (लॉग वाई) की समय जटिलता में पूरा करेगा।
आइए समस्या को समझने के लिए कुछ उदाहरण लें,
इनपुट
x = 7 , y = 3
आउटपुट
343
pow(x,y) के लिए पुनरावृति फ़ंक्शन पुनरावृति करेगा और y के विषम मानों के लिए परिणाम को x से गुणा करके अपडेट करेगा और प्रत्येक पुनरावृत्ति पर x से x2 को अपडेट करेगा।
समाधान के कार्यान्वयन को दिखाने के लिए कार्यक्रम
उदाहरण
#include <iostream> using namespace std; void calcPower(int x, unsigned int y) { int result = 1; while (y > 0) { if (y & 1) result *= x; y = y >> 1; x = x * x; } cout<<result; } int main() { int x = 7; unsigned int y = 3; cout<<x<<" raised to "<<y<<" is "; calcPower(x,y); return 0; }
आउटपुट
raised to 3 is 343