मान लीजिए कि हमारे पास तीन पूर्णांक हैं, a, b और x। कार्य x का गुणज प्राप्त करना है, जो ab के सबसे निकट है। तो अगर a =5, b =4 और x =3, तो आउटपुट 624 होगा। 54 =625 के रूप में, और 624 3 का गुणज है, जो 625 के सबसे करीब है।
कार्य सरल है। इस समस्या को हल करने के लिए हमें इन चरणों का पालन करना होगा -
- गणना संख्या :=a b
- फिर f :=तल (संख्या/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