n * 3.5 का परिणाम प्राप्त करने के लिए हमें (n * 2) + n + (n / 2) की गणना करने की आवश्यकता है। बिट्स को 1 से बाएं ले जाने पर n * 2 मिलेगा और बिट्स को 1 से दाएं ले जाने पर n / 2 मिलेगा। परिणाम प्राप्त करने के लिए इन्हें जोड़ें।
n * 3.5 = (n * 2) + n + (n / 2)
आप n के विभिन्न मान सबमिट करके उपरोक्त समीकरण को सत्यापित कर सकते हैं। आइए कुछ उदाहरण देखते हैं।
इनपुट
2 7 10
आउटपुट
7 24 35
एल्गोरिदम
- संख्या n आरंभ करें।
- बाएं शिफ्ट बिटवाइज़ ऑपरेटर का उपयोग करके n * 2 ज्ञात करें।
- दाएं शिफ्ट बिटवाइज़ ऑपरेटर का उपयोग करके n / 2 ज्ञात करें।
- उपरोक्त दोनों मानों को n के साथ जोड़कर परिणाम प्राप्त करें।
- परिणाम वापस करें।
उपरोक्त चरणों के साथ यह एक सीधी समस्या है।
कार्यान्वयन
निम्नलिखित C++ में उपरोक्त एल्गोरिदम का कार्यान्वयन है:
#include <bits/stdc++.h>
using namespace std;
int getTheResult(int x) {
return (x << 1) + x + (x >> 1);
}
int main() {
int n = 10;
cout << getTheResult(n) << endl;
return 0;
}
आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।
35