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

उप-सरणियों की संख्या जिनके तत्वों को सी ++ में पैलिंड्रोम बनाने के लिए फिर से व्यवस्थित किया जा सकता है

हमें पूर्णांक तत्वों की एक सरणी दी गई है और कार्य उप-सरणियों की गणना की गणना करना है जो दिए गए सरणी से बनाई जा सकती हैं जैसे कि इसके तत्व एक वैध पैलिंड्रोम बना सकते हैं। पैलिंड्रोम वे क्रम हैं जो प्रारंभ और अंत से समान रूप से व्यवस्थित होते हैं।

इनपुट - int arr[] ={ 3, 3, 1, 4, 2, 1, 5}

आउटपुट - उप-सरणियों की संख्या जिनके तत्वों को पैलिंड्रोम बनाने के लिए पुन:व्यवस्थित किया जा सकता है - 9

स्पष्टीकरण - मान्य उप-सरणी जिनके तत्वों को एक पैलिंड्रोम बनाने के लिए व्यवस्थित किया जा सकता है, वे हैं {3}, {3}, {1}, {4}, {2}, {1}, {5}, {1, 2, 1 } और {1, 3, 1}। तो, कुल संख्या 9 है।

इनपुट - int arr[] ={ 2, 5, 5, 2, 1}

आउटपुट - उप-सरणियों की संख्या जिनके तत्वों को पैलिंड्रोम बनाने के लिए पुन:व्यवस्थित किया जा सकता है - 8

स्पष्टीकरण - मान्य उप-सरणी जिनके तत्वों को पैलिंड्रोम बनाने के लिए व्यवस्थित किया जा सकता है, वे हैं {2}, {5}, {5}, {2}, {1}, {5, 2, 5}, {2, 5, 2 }, {2, 5, 5, 2}। तो, कुल संख्या 8 है।

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

  • पूर्णांक तत्वों की एक सरणी इनपुट करें और एक सरणी के आकार की गणना करें और आगे की प्रक्रिया के लिए डेटा को फ़ंक्शन में पास करें।

  • पैलिंड्रोम की उप-सरणी को संग्रहीत करने के लिए एक अस्थायी चर गणना की घोषणा करें।

  • 0 से एक सरणी के आकार तक के लिए लूप प्रारंभ करें

  • लूप के अंदर, long long प्रकार का एक वेरिएबल घोषित करें और इसे 1LL < के रूप में सेट करें।

  • बूलियन वेरिएबल के अंदर एक फ़ंक्शन को कॉल करें जो सही या गलत लौटाएगा।

  • जांचें कि IF अस्थायी 0LL है या ch सही है तो गिनती को 1 से बढ़ा दें

  • गिनती वापस करें

  • परिणाम प्रिंट करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
bool check(long long temp){
   return !(temp & (temp - 1LL));
}
int palindromes_rearrange(int arr[], int size){
   int count = 0;
   for (int i = 0; i < size; i++){
      long long temp = 0LL;
      for (int j = i; j < size; j++){
         long long val = 1LL << arr[j];
         temp = temp ^ val;
         bool ch = check(temp);
         if (temp == 0LL || ch){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int arr[] = { 3, 3, 1, 4, 2, 1, 5};
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"Count of sub-arrays whose elements can be re-arranged to form palindromes are:
"<<palindromes_rearrange(arr, size);
   return 0;
}

आउटपुट

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

Count of sub-arrays whose elements can be re-arranged to form palindromes are: 9

  1. C++ में समतल में समांतर चतुर्भुजों की संख्या

    हमें एक समतल दिया गया है जिसमें समांतर चतुर्भुज बनाने वाले बिंदु हैं और कार्य समांतर चतुर्भुजों की गणना करना है जो दिए गए बिंदुओं का उपयोग करके बनाए जा सकते हैं। समांतर चतुर्भुज में एक चतुर्भुज के विपरीत पक्ष समानांतर होते हैं और इसलिए विपरीत कोण बराबर होते हैं। इनपुट - int a[] = {0, 2, 5, 5, 2, 5,

  1. सी ++ में क्रमबद्ध सरणी में छोटे तत्वों की गणना करें

    इस ट्यूटोरियल में, हम C++ में सॉर्ट किए गए ऐरे में छोटे एलिमेंट्स को गिनने के लिए प्रोग्राम पर चर्चा करेंगे। इसमें हमें एक नंबर दिया जाएगा और हमारा काम सॉर्ट किए गए ऐरे में मौजूद सभी एलीमेंट को गिनना है जो दिए गए नंबर से छोटे हैं। उदाहरण #include <bits/stdc++.h> using namespace std; int count

  1. C++ में किसी सरणी में सम और विषम तत्वों की संख्या गिनें

    इस ट्यूटोरियल में, हम किसी सरणी में सम और विषम तत्वों की संख्या ज्ञात करने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें एक सरणी प्रदान की जाएगी। हमारा काम दिए गए सरणी में सम और विषम तत्वों की संख्या की गणना करना है। उदाहरण #include<iostream> using namespace std; void CountingEvenOdd(int