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

C++ में गुड ऐरे (Good Array) की जांच


समस्या विवरण

धनात्मक पूर्णांकों की एक सरणी nums दी गई है। हमें सरणी का कोई सबसेट चुनना है, प्रत्येक तत्व को एक पूर्णांक से गुणा करना है, और उन्हें जोड़ना है। यदि हम किसी सबसेट और गुणकों का उपयोग करके योग 1 प्राप्त कर सकते हैं, तो सरणी "गुड" (good) है।

उदाहरण

इनपुट

[12, 23, 7, 5]

आउटपुट

True (1)

व्याख्या: 5×3 + 7×(-2) = 15 - 14 = 1

समाधान दृष्टिकोण (बेजू की पहचान - Bézout's Identity)

संख्याओं के समुच्चय का महत्तम समापवर्तक (GCD) यदि 1 है, तो उनके पूर्णांक रैखिक संयोजन से 1 प्राप्त किया जा सकता है।

एल्गोरिदम: सरणी के सभी तत्वों का GCD निकालें। यदि GCD = 1, तो गुड ऐरे है।

कार्यकारी प्रोग्राम

#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    int gcd(int a, int b) {
        return b == 0 ? a : gcd(b, a % b);
    }
    
    bool isGoodArray(vector<int>& nums) {
        int g = nums[0];
        for (int i = 1; i < nums.size(); i++) {
            g = gcd(g, nums[i]);
        }
        return g == 1;
    }
};

int main() {
    Solution ob;
    vector<int> v = {12, 23, 7, 5};
    cout << (ob.isGoodArray(v) ? "True" : "False");
    return 0;
}

आउटपुट

True
  1. - C++ में जांचें कि सरणी स्टैक-सॉर्टेबल है या नहीं

    समस्या विवरण मान लें हमारे पास nums नाम की एक सरणी है जिसमें 1 से n तक के अद्वितीय तत्व हैं। हमें जांचना है कि यह स्टैक-सॉर्टेबल है या नहीं। एक सरणी स्टैक-सॉर्टेबल होती है जब इसे अस्थायी स्टैक का उपयोग करके किसी अन्य सरणी में संग्रहीत किया जा सकता है। इसे हल करने के लिए, हम सरणी पर इनमें से किसी भी

  1. C++ में STL का उपयोग करके जांचें कि क्या सरणी पैलिंड्रोम है या नहीं C++ में STL का उपयोग करके जांचें कि क्या सरणी पैलिंड्रोम है या नहीं

    n पूर्णांकों की एक सरणी arr[n] दी गई है, कार्य यह जांचना है कि क्या सरणी एक पैलिंड्रोम है या नहीं। हमें C++ में STL (स्टैंडर्ड टेम्पलेट लाइब्रेरी) का उपयोग करके यह कार्य करना है। C++ में STL (Standard Template Library) की एक विशेषता है, यह C++ टेम्पलेट कक्षाओं का एक समूह है जिसका उपयोग डेटा संरचना

  1. C++ में सरणी की बिटोनिसिटी की जांच करें C++ में सरणी की बिटोनिसिटी की जांच करें

    N पूर्णांकों की एक सरणी arr[N] दी गई है, कार्य यह जांचना है कि दी गई सरणी बिटोनिक है या नहीं। यदि दी गई सरणी बिटोनिक है तो हां यह एक बिटोनिक सरणी है प्रिंट करें, अन्यथा नहीं यह बिटोनिक सरणी नहीं है प्रिंट करें। एक बिटोनिक सरणी वह है जब सरणी पहले सख्ती से बढ़ते क्रम में होती है और फिर सख्ती से घटते