Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में दिए गए ऑपरेशन के साथ सरणी को एक तत्व में कम करें

इनपुट के रूप में एक पूर्णांक चर संख्या को देखते हुए। आइए एक सरणी पर विचार करें जिसमें क्रमबद्ध क्रम में 1 से संख्या तक के तत्व हों। यदि हम एक सरणी पर एक ऑपरेशन करते हैं जैसे कि प्रत्येक चरण में विषम स्थिति वाले तत्व हटा दिए जाते हैं। तब लक्ष्य इस ऑपरेशन को कई बार करना है जब तक कि केवल एक तत्व नहीं बचा है। उस तत्व को अंत में प्रिंट करें।

नोट-:तत्वों की स्थिति ऐसी है कि सूचकांक 0 पर सरणी पहले स्थान पर है और इसी तरह।

सरणी में तत्वों की संख्या के लिए परीक्षण मामले

इनपुट नंबर=1, आउटपुट =1

इनपुट नंबर =2, आउटपुट =2

इनपुट नंबर =3, आउटपुट =2

इनपुट नंबर =4, आउटपुट =4

इनपुट नंबर =5, आउटपुट =4

इनपुट नंबर =6, आउटपुट =4

इनपुट नंबर =7, आउटपुट =4

......

इनपुट नंबर=12, आउटपुट =8

इनपुट नंबर =20, आउटपुट =16

उपरोक्त अवलोकन के आधार पर, 2 i . के बीच की संख्याओं की श्रेणी के लिए 2 i+1 . तक -1 आउटपुट 2 i . होगा ।

उदाहरण

इनपुट −नंबर=7

आउटपुट - कमी ऑपरेशन के बाद एकल तत्व है:4

स्पष्टीकरण - पहला तत्व स्थिति 1 पर है और इसी तरह।

सरणी होगी [ 1 2 3 4 5 6 7 ]

पहले ऑपरेशन के बाद:[ 2 4 6 ]

दूसरे ऑपरेशन के बाद:[ 4 ]

इनपुट - संख्या=18

आउटपुट - कमी ऑपरेशन के बाद एकल तत्व है:4

स्पष्टीकरण - पहला तत्व स्थिति 1 पर है और इसी तरह।

सरणी होगी [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ]

पहले ऑपरेशन के बाद:[ 2 4 6 8 10 12 14 16 18]

दूसरे ऑपरेशन के बाद:[ 2 8 12 16 ]

तीसरे ऑपरेशन के बाद:[ 8 16 ]

चौथे ऑपरेशन के बाद [ 16 ]

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

इस दृष्टिकोण में हम उपरोक्त सूत्र के आधार पर अंतिम परिणाम की गणना करने के लिए थोड़ी देर के लूप का उपयोग करेंगे। प्रारंभिक मान को 2 के रूप में लें और 2*परिणाम <=इनपुट संख्या तक आगे बढ़ें और प्रत्येक पुनरावृत्ति पर मान को दोगुना करें।

  • इनपुट वेरिएबल नंबर लें

  • फ़ंक्शन getingleElement(long num) इनपुट नंबर लेता है और उपरोक्त सूत्र के आधार पर परिणाम प्रिंट करता है।

  • एक परिवर्तनशील परिणाम लें।

  • 2 के साथ परिणाम आरंभ करें।

  • परिणाम तक लूप का उपयोग करके ट्रैवर्स करें*2<=num.

  • वसीयत के अंदर दोहरा परिणाम।

  • जैसे ही लूप समाप्त होता है हमें वांछित मूल्य मिल जाएगा।

  • वापसी परिणाम।

  • परिणाम को मुख्य के अंदर प्रिंट करें।

उदाहरण

#include<bits/stdc++.h>
using namespace std;
long getsingleElement(long num){
   long result;
   result=2;
   while(result*2 <= num){
      result=result*2;
   }
   return result;
}
int main(){
   int Number = 20;
   cout<<"The single element after reduction operation is : "<<getsingleElement(Number) ;
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा

The single element after reduction operation is : 16

  1. सी ++ में दिए गए ऑपरेशन के साथ सरणी योग को अधिकतम करना

    विवरण (2 * n - 1) पूर्णांकों की एक सरणी है। हम सरणी में बिल्कुल n तत्वों का चिह्न बदल सकते हैं। दूसरे शब्दों में, हम बिल्कुल n सरणी तत्वों का चयन कर सकते हैं, और उनमें से प्रत्येक को -1 से गुणा कर सकते हैं। सरणी का अधिकतम योग ज्ञात करें। उदाहरण यदि इनपुट ऐरे {-2, 100, -3} है तो हम -2 और -3 के अधिक

  1. C++ में दिए गए अंतर के साथ एक जोड़ी खोजें

    विचार करें कि हमारे पास एक सरणी A है, n विभिन्न तत्व हैं। हमें सरणी A से एक युग्म (x, y) ज्ञात करना है, ताकि x और y के बीच का अंतर दिए गए अंतर d के समान हो। मान लीजिए कि तत्वों की एक सूची A =[10, 15, 26, 30, 40, 70] की तरह है, और दिया गया अंतर 30 है, तो जोड़ी होगी (10, 40) और (30, 70) इस समस्या को

  1. सी ++ में पूर्ण अंतर के न्यूनतम योग के साथ ऐरे तत्व?

    यह कार्यक्रम सरणी के न्यूनतम पूर्ण अंतर को खोजने के लिए है, क्योंकि हमारे पास एक सरणी है जिसमें विशिष्ट तत्व हैं। इस अवधारणा को बेहतर ढंग से सीखने के लिए आवश्यक चीजों को फिर से ब्रश करें, सरणी समान डेटा प्रकार के तत्वों का एक कंटेनर है। सरणी की लंबाई को पूर्वनिर्धारित करने की आवश्यकता है। पूर्ण अं