এই সমস্যায়, আমাদের x এবং y দুটি মান দেওয়া হয়েছে। আমাদের কাজ হল x^(y^2) বা y^(x^2) যেখানে x এবং y দেওয়া আছে তার মধ্যে সর্বাধিক খুঁজে বের করা।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট: x =4, y =3
আউটপুট: 3^(4^2)
ব্যাখ্যা:
x^(y^2) =4^(3^2) =4^9 =262144
y^(x^2) =3^(4^2) =3^16 =43046721
সমাধান পদ্ধতি
একটি পদ্ধতি হতে পারে উভয় মান গণনা করা এবং তারপর উভয়ের সর্বাধিক প্রিন্ট করা। কিন্তু মান বড় হলে এই পদ্ধতি কাজ করে না।
একটি সহজ এবং সহজ পদ্ধতি হল প্রাকৃতিক লগ (ln) ব্যবহার করা যা সমাধানটি সহজ হবে।
ln(x^(y^2)) =(y^2) * ln(x)
ln(y^(x^2)) =(x^2) * ln(y)
এখানে, মানগুলি সরাসরি x এবং y এর সমানুপাতিক নয়। সুতরাং, আসুন মানগুলিকে (x^2)*(y^2) দ্বারা ভাগ করি। এটি মান তৈরি করে,
ln(x^(y^2)) / (x^2)*(y^2) =ln(x) / (x^2)
ln(y^(x^2)) / (x^2)*(y^2) =ln(y)/ (y^2)
এই মানগুলি ফলাফলের মানের বিপরীতভাবে সমানুপাতিক৷
x> y হলে, x^(y^2) আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,
উদাহরণ
#include <iostream>
using namespace std;
bool checkGreaterVal(int x, int y) {
if (x > y)
return false;
else
return true;
}
int main() {
int x = 3;
int y = 5;
cout<<"The greater value is ";
if(checkGreaterVal(x, y))
cout<<x<<"^("<<y<<"^2)";
else
cout<<y<<"^("<<x<<"^2)";
return 0;
}
আউটপুট
The greater value is 3^(5^2)