ধরুন আমাদের তিনটি মান আছে, a, b এবং x। আমাদের x এর একটি গুণিতক খুঁজে বের করতে হবে, যেটি a b এর সবচেয়ে কাছের . ধরুন সংখ্যাগুলি হল x =4, a =3, b =3, তাহলে আউটপুট হবে 28, কারণ এটি 3 3 এর সবচেয়ে কাছের। =২৭
পদ্ধতি সহজ; আমাদের এই শর্তগুলো মেনে চলতে হবে -
-
যদি b <0, এবং a =1 হয়, তাহলে ab 1 হবে এবং তাই, x এর নিকটতম গুণিতকটি 0 বা x হয়।
-
যদি b <0 এবং a> 1 হয়, তাহলে, ab, 1 এর কম হতে দেখা যায়, এবং তাই x এর নিকটতম গুণিতকটি 0 হয়ে যায়।
-
যদি b> 0 হয়, তাহলে ab খুঁজুন। তারপর mul =ab/x এর পূর্ণসংখ্যা ধরুন, তারপর x-এর নিকটতম গুণিতক হল mul*x বা (mul + 1)*x
উদাহরণ
#include<iostream>
#include<cmath>
using namespace std;
void findMultiple(int a, int b, int x) {
cout << "Nearest multiple: ";
if (b < 0) {
if (a == 1 && x == 1)
cout << "1";
else
cout << "0";
}
int mul = pow(a, b);
int ans = mul / x;
int ans1 = x * ans;
int ans2 = x * (ans + 1);
if((mul - ans1) <= (ans2 - mul)){
cout << ans1;
}
else{
cout << ans2;
}
}
int main() {
int a = 3, b = 3, x = 4;
findMultiple(a, b, x);
} আউটপুট
Nearest multiple: 28