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

C++ में सरणी में k से विभाज्य तत्वों की गिनती


हमें धनात्मक पूर्णांकों की एक सरणी और एक पूर्णांक चर k दिया गया है। कार्य है सरणी में उन तत्वों की संख्या गिनना जो दिए गए मान k से विभाज्य हैं।

इनपुट - int arr[] = {4, 2, 6, 1, 3, 8, 10, 9}, k = 2

आउटपुट - 2 से विभाज्य सरणी में तत्वों की संख्या: 5

व्याख्या - 4, 2, 6, 8, 10 विभाज्य हैं 2 से। कुल 5 तत्व।

उपयोग किया गया दृष्टिकोण (नाइव)

  • सरणी और k को इनपुट करें।
  • सरणी की लंबाई ज्ञात करें और फंक्शन में पास करें।
  • count वेरिएबल लें।
  • लूप चलाएं i = 0 से size-1 तक।
  • यदि arr[i] % k == 0 तो count++ करें।
  • काउंट वापस करें और प्रिंट करें।

कुशल दृष्टिकोण (STL count_if)

  • वेक्टर में एलिमेंट्स लें।
  • count_if फंक्शन का उपयोग करें लैम्ब्डा के साथ: [](int i, int k) { return i % k == 0; }

उदाहरण (नाइव दृष्टिकोण)

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

int divisible_k(int arr[], int size, int k) { 
    int count = 0; 
    for (int i = 0; i < size; i++) { 
        if (arr[i] % k == 0) 
            count++; 
    } 
    return count; 
} 

int main() { 
    int arr[] = {4, 2, 6, 1, 3, 8, 10, 9}; 
    int k = 2; 
    int size = sizeof(arr) / sizeof(arr[0]); 
    cout << "Count the number of elements in an array which are divisible by " << k << " are: " << divisible_k(arr, size, k); 
    return 0; 
}

आउटपुट

Count the number of elements in an array which are divisible by 2 are: 5

उदाहरण (कुशल दृष्टिकोण)

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

int main() { 
    vector<int> vec = {4, 2, 6, 1, 3, 8, 10, 9}; 
    int k = 2; 
    int count = count_if(vec.begin(), vec.end(), [k](int i) { return i % k == 0; }); 
    cout << "Count the number of elements in an array which are divisible by k are: " << count; 
    return 0; 
}

आउटपुट

Count the number of elements in an array which are divisible by 2 are: 5

  1. - C++ में सरणी के सभी तत्वों को 4 से विभाज्य बनाने के लिए न्यूनतम चरण

    समस्या कथनआकार n की एक सरणी दी गई है, कार्य सरणी के सभी तत्वों को 4 से विभाज्य बनाने के लिए आवश्यक न्यूनतम चरणों की संख्या ज्ञात करना है। एक चरण को सरणी से किन्हीं दो तत्वों को हटाने और इन तत्वों का योग सरणी में जोड़ने के रूप में परिभाषित किया गया हैउदाहरणयदि इनपुट सरणी {1, 2, 0, 2, 4, 3} है तो 3 ऑप

  1. - C++ प्रोग्राम: N अंकों की संख्या ज्ञात करना जो D से विभाज्य हो

    मान लें हमारे पास दो संख्याएं N और D हैं। हमें N अंकों की संख्या ज्ञात करनी है, जो D से विभाज्य हो। यदि N 3 है, और D 5 है, तो संख्या 500 हो सकती है। इसे आसानी से हल किया जा सकता है। यदि D 10 है और N 1 है, तो यह असंभव होगा। हम D रख सकते हैं, और मान लें D में m अंक हैं, फिर N - m संख्या में 0 जोड़कर इ

  1. - C++ का उपयोग करके सरणी में ऐसा तत्व खोजें जिससे सभी तत्व विभाज्य हों

    मान लीजिए हमारे पास कुछ तत्वों के साथ एक सरणी A है। हमें A से एक ऐसा तत्व ढूंढना है जिससे सभी तत्व इससे विभाज्य हों। मान लीजिए A = [15, 21, 69, 33, 3, 72, 81] है, तो तत्व 3 होगा, क्योंकि सभी संख्याएं 3 से विभाज्य हैं। इस समस्या को हल करने के लिए, हम A में सबसे छोटी संख्या लेंगे, फिर जांचेंगे कि क्य