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

C++ में N तत्वों के सभी संयोजन प्रिंट करें जिनके चिह्न बदलकर योग M से विभाज्य हो


इस समस्या में, हमें N तत्वों की एक सरणी दी गई है। और उन सभी तत्वों के योग को वापस करना है जो एक पूर्णांक M से विभाज्य हैं।

इनपुट: सरणी = {4, 7, 3} ; M = 3 आउटपुट: 5+4+3 ; 5+4-3

इस समस्या को हल करने के लिए, हमें पावर सेट की अवधारणा जानने की आवश्यकता है जिसका उपयोग सभी संभावित योगों को खोजने के लिए किया जा सकता है। इस योग से, उन सभी को प्रिंट करें जो M से विभाज्य हैं।

एल्गोरिदम

चरण 1: पावर सेट का उपयोग करके '+' और '-' के सभी संयोजनों पर पुनरावृति करें। चरण 2: यदि योग संयोजन M से विभाज्य है, तो उन्हें चिह्नों के साथ प्रिंट करें।

उदाहरण

#include <iostream> using namespace std; void printDivisibleSum(int a[], int n, int m){    for (int i = 0; i < (1 << n); i++) {       int sum = 0;       int num = 1 << (n - 1);       for (int j = 0; j < n; j++) {          if (i & num)             sum += a[j];          else             sum += (-1 * a[j]);          num = num >> 1;       }       if (sum % m == 0) {          num = 1 << (n - 1);          for (int j = 0; j < n; j++) {             if ((i & num))                cout << "+ " << a[j] << " ";             else                cout << "- " << a[j] << " ";             num = num >> 1;          }          cout << endl;       }    } } int main(){    int arr[] = {4,7,3};    int n = sizeof(arr) / sizeof(arr[0]);    int m = 3;    cout<<"The sum combination divisible by n :\n";    printDivisibleSum(arr, n, m);    return 0; }

आउटपुट

योग संयोजन n से विभाज्य है -

- 4 + 7 - 3 - 4 + 7 + 3 + 4 - 7 - 3 + 4 - 7 + 3

  1. C++ में अविभाजित ग्राफ के सभी संयोजी घटकों में न्यूनतम तत्वों का योग C++ में अविभाजित ग्राफ के सभी संयोजी घटकों में न्यूनतम तत्वों का योग

    इस समस्या में, हमें N संख्याओं की एक सरणी arr दी गई है जहां arr[i] (i+1)वें नोड को दर्शाता है। साथ ही, M जोड़े किनारे हैं जहां u और v किनारे से जुड़े नोड्स को दर्शाते हैं। हमारा कार्य एक प्रोग्राम बनाना है जो अविभाजित ग्राफ के सभी संयोजी घटकों में न्यूनतम तत्वों का योग निकाले। यदि एक नोड की किसी अन

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

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

  1. - C++ में XOR ऑपरेशन द्वारा सरणी योग न्यूनतम करें

    समस्या विवरण एक सरणी दी गई है, एक मान X ढूंढें जिससे प्रत्येक तत्व के साथ XOR करने के बाद सरणी का योग न्यूनतम हो। उदाहरण: arr = {8, 5, 7, 6, 9} यदि X = 5, तो XOR के बाद: 13, 0, 2, 3, 12 → योग = 30 (न्यूनतम) एल्गोरिदम 32-बिट बिटमैप बनाएं प्रत्येक तत्व के सेट बिट्स गिनें n/2 हैं, तो X में वह बिट