মনে করুন আমাদের তিনটি পূর্ণসংখ্যা a, b এবং x আছে। কাজটি হল x-এর সেই গুণিতকটি বের করা যা a^b-র সন্নিকট। তাই যদি a = 5, b = 4 এবং x = 3 হয়, তবে আউটপুট হবে 624। কারণ 5^4 = 625, এবং 624 হল 3-এর গুণিতক যা 625-র সন্নিকট।
কাজটি সহজ। এই সমস্যাটি সমাধানের জন্য নিচের ধাপগুলো অনুসরণ করতে হবে -
- num := a^b হিসাব করুন <লি>তারপর f := floor(num/x) বের করুন
- এখন বাম পাশের সন্নিকট উপাদান হবে cl = x * f, এবং ডান পাশের হবে cr = x * (f + 1)
- শেষ পর্যন্ত, তাদের মধ্যতে সন্নিকটটি হবে min(num – cl, cr – num)
উদাহরণ
#include <iostream>
#include <cmath>
using namespace std;
long long getClosest(int a, int b, int x) {
long long num = pow(a, b);
int f = floor(num / x);
long long cl = x * f;
long long cr = x * (f + 1);
if ((num - cl) < (cr - num))
return cl;
else
return cr;
}
int main() {
int a = 5, b = 4, x = 3;
cout << "Find closest element: " << getClosest(a, b, x);
}
আউটপুট
Find closest element: 624