n * 3.5 . का परिणाम प्राप्त करने के लिए हमें (n * 2) + n + (n / 2) . की गणना करने की आवश्यकता है . बिट्स को 1 से बाईं ओर ले जाने से आपको n * 2 . मिलेगा और बिट्स को दाईं ओर ले जाने से आप n / 2 . परिणाम प्राप्त करने के लिए उन्हें जोड़ें।
एन * 3.5 =(एन * 2) + एन + (एन / 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