मान लीजिए हमारे पास तीन मान a, b और x हैं। हमें x का एक गुणक ढूंढना है, जो a^b के निकटतम हो। मान लीजिए संख्याएं x = 4, a = 3, b = 3 हैं, तो आउटपुट 28 होगा, क्योंकि यह 3^3 = 27 के निकटतम है
दृष्टिकोण सरल है; हमें इन शर्तों का पालन करना होगा -
- यदि b < 0, और a = 1, तो a^b 1 बन जाता है और इसलिए, x का निकटतम गुणक या तो 0 या x बन जाता है।
- यदि b < 0 और a > 1, तो, a^b, 1 से कम हो जाता है, और इसलिए x का निकटतम गुणक 0 बन जाता है।
- यदि b > 0, तो a^b ढूंढें। फिर mul = a^b / x का पूर्णांक भाग लें, तो x का निकटतम गुणक mul*x या (mul + 1)*x है
उदाहरण
#include#include 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