इस समस्या में, हमें दो संख्याएं x और y दी गई हैं। हमारा कार्य x^y और y^x में से बड़ा मान ढूंढना है।
समस्या विवरण: समस्या सरल है, हमें यह जांचना है कि x की घात y, y की घात x से बड़ी है या नहीं।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट: x = 4, y = 5
आउटपुट: 1024
व्याख्या:
x^y = 4^5 = 1024
y^x = 5^4 = 625
समाधान दृष्टिकोण
समस्या का समाधान सरल है। हमें x^y और y^x का मान ढूंढना है और दोनों में से अधिकतम वापस करना है।
समस्या को हल करने का एक गणितीय रूप से आसान तरीका लॉग लेना है। तो,
x^y = y*log(x)।
ये मान गणना करना आसान है।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला प्रोग्राम,
उदाहरण
#include <bits/stdc++.h>
using namespace std;
int main() {
double x = 3, y = 7;
double ylogx = y * log(x);
double xlogy = x * log(y);
if(ylogx > xlogy)
cout<<x<<"^"<<y;
else if (ylogx < xlogy)
cout<<y<<"^"<<x;
else
cout<<"None";
cout<<" has greater value";
return 0;
}
आउटपुट
3^7 has greater value