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

C++ में N मैग्नेट से बने मैग्नेट समूहों की संख्या


अंक 1 धनात्मक ध्रुव को दर्शाता है जबकि 0 ऋणात्मक ध्रुव को दर्शाता है।

मैग्नेट के दोनों ध्रुव 10 या 01 होंगे। एक समूह उन मैग्नेट से बन सकता है जो एक-दूसरे को आकर्षित करते हैं। अलग-अलग ध्रुव एक-दूसरे की ओर होने वाले मैग्नेट एक ही समूह में होंगे।

यहां, आपको N संख्या के मैग्नेट दिए गए हैं। आपको उनके साथ बनने वाले समूहों की संख्या ढूंढनी है।

जब भी दो अलग-अलग मैग्नेट साथ-साथ होते हैं, तो एक नया समूह बनता है। उस स्थिति में समूहों की संख्या बढ़ाएं।

आइए एक उदाहरण देखते हैं।

इनपुट

magnets = ["10", "01", "01", "01", "10", "01"]

आउटपुट

4

दिए गए सरणी में 4 मैग्नेट हैं जो साथ-साथ एक-दूसरे को आकर्षित करते हैं। वे हैं "10", "01", "10", "01"।

एल्गोरिदम

  • मैग्नेट के साथ सरणी को आरंभ करें।
  • काउंट को 1 पर आरंभ करें क्योंकि हम जोड़े ले रहे हैं।
  • एक लूप लिखें जो 1 इंडेक्स से सरणी के अंत तक पुनरावृति करता है।
  • यदि वर्तमान मैग्नेट पिछले वाले के बराबर नहीं है, तो काउंट बढ़ाएं।
  • काउंट लौटाएं।

कार्यान्वयन

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

#include <bits/stdc++.h> using namespace std; int getMangetGroupsCount(string magnets[], int n) {    int count = 1;    for (int i = 1; i < n; i++) {       if (magnets[i] != magnets[i - 1]) {          count++;       }    }    return count; } int main() {    string magnets[] = { "10", "01", "01", "01", "10", "01" };    int n = 6;    cout << getMangetGroupsCount(magnets, n) << endl;    return 0; }

आउटपुट

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

4
  1. - C++ में मितव्ययी संख्या (Frugal Number)

    इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया गया है। हमारा कार्य यह जांचने के लिए एक प्रोग्राम बनाना है कि दी गई संख्या मितव्ययी संख्या है या नहीं। मितव्ययी संख्या (FRUGAL NUMBER) − एक संख्या जिसके अंकों की संख्या उस संख्या के अभाज्य गुणनखंडन में अंकों की संख्या से सख्ती से अधिक है। उदाहरण &

  1. - C++ में तीन रेखाओं पर बिंदुओं के समुच्चय से बने त्रिभुजों की संख्या

    हमें 3 रेखाओं पर मौजूद कई बिंदु दिए गए हैं; अब हमें निकालना है कि ये बिंदु कितने त्रिभुज बना सकते हैं, उदाहरण के लिएइनपुट: m = 3, n = 4, k = 5 आउटपुट: 205 इनपुट: m = 2, n = 2, k = 1 आउटपुट: 10हम इस प्रश्न पर कॉम्बिनेटोरिक्स लागू करेंगे और कुछ सूत्र बनाकर इस समस्या को हल करेंगे।समाधान खोजने का दृष्टि

  1. C++ में पेंटाटोप संख्या C++ में पेंटाटोप संख्या

    एक पेंटाटोप संख्या को पास्कल के त्रिभुज में पांचवीं संख्या के रूप में वर्णित किया गया है। अब, चूंकि यह पांचवीं संख्या है, इसका मतलब है कि पास्कल के त्रिभुज में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है जो पास्कल के त्रिभुज की चौथी पंक्ति है। तो, इस