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