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

युग्मों की संख्या जिनका योग C++ . में 2 की घात है

एक सरणी को देखते हुए, हमें उन युग्मों की संख्या ज्ञात करनी है जिनका योग 2 की घात है। आइए उदाहरण देखें।

इनपुट

arr = [1, 2, 3]

आउटपुट

1

केवल एक युग्म है जिसका योग 2 की घात है और युग्म (1, 3) है।

एल्गोरिदम

  • यादृच्छिक संख्याओं के साथ सरणी प्रारंभ करें।
  • गिनती को 0 से प्रारंभ करें।
  • सरणी के सभी जोड़े प्राप्त करने के लिए दो लूप लिखें।
    • हर जोड़े के योग की गणना करें।
    • जांचें कि योग 2 की घात है या बिटवाइज़ AND का उपयोग नहीं कर रहा है।
    • अगर गिनती 2 की शक्ति हो तो गिनती बढ़ाएँ।
  • गिनती लौटाएं।

कार्यान्वयन

C++ में उपरोक्त एल्गोरिथम का कार्यान्वयन निम्नलिखित है

#include <bits/stdc++.h>
using namespace std;
int get2PowersCount(int arr[], int n) {
   int count = 0;
   for (int i = 0; i < n; i++) {
      for (int j = i + 1; j < n; j++) {
         int sum = arr[i] + arr[j];
         if ((sum & (sum - 1)) == 0) {
            count++;
         }
      }
   }
   return count;
}
int main() {
   int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
   int n = 10;
   cout << get2PowersCount(arr, n) << endl;
   return 0;
}

आउटपुट

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

6

  1. C++ में किसी संख्या के भाज्य में अंकों का योग ज्ञात कीजिए

    मान लीजिए, हमारे पास एक संख्या n है, तो हमारा काम अंकों का योग ज्ञात करना है! n =5 पर विचार करें, फिर n! =120. तो परिणाम 3 होगा। इस समस्या को हल करने के लिए, हम फैक्टोरियल अंकों को स्टोर करने के लिए एक वेक्टर बनाएंगे और इसे 1 से शुरू करेंगे। फिर वेक्टर में 1 से n को एक-एक करके गुणा करें। अब वेक्टर म

  1. C++ में अंकगणित संख्या

    अंकगणितीय संख्या एक ऐसी संख्या है जिसमें सभी धनात्मक भाजक का औसत एक पूर्णांक होता है अर्थात संख्या n के लिए यदि भाजक की संख्या भाजक के योग को विभाजित कर सकती है तो n एक अंकगणितीय संख्या है। आइए अवधारणा को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं, Input : n = 6 Output : YES Explanation : Divisor

  1. C++ में CHAR_BIT

    CHAR_BIT चार में बिट्स की संख्या है। इसे C++ भाषा में “limits.h” हेडर फाइल में घोषित किया गया है। यह 8-बिट प्रति बाइट का होता है। यहाँ C++ भाषा में CHAR_BIT का एक उदाहरण दिया गया है, उदाहरण #include <bits/stdc++.h> using namespace std; int main() {    int x = 28;    int a