किसी सरणी को देखते हुए, सरणी में न्यूनतम संख्या (जो 0 से अधिक होनी चाहिए) जोड़ें ताकि सरणी का योग सम हो जाए।
इनपुट - 1 2 3 4,
आउटपुट - 2
स्पष्टीकरण - सरणी का योग 10 है, इसलिए हम
योग को सम बनाने के लिए न्यूनतम संख्या 2 जोड़ें।
विधि 1 :सरणी के सभी तत्वों के योग की गणना करें, फिर जांचें कि क्या योग सम है तो न्यूनतम संख्या 2 जोड़ें, अन्यथा न्यूनतम संख्या 1 जोड़ें।
इनपुट - 1 2 3 4,
आउटपुट - 2
स्पष्टीकरण - सरणी का योग 10 है, इसलिए योग को सम बनाने के लिए न्यूनतम संख्या 2 जोड़ें।
उदाहरण
#include<iostream> using namespace std; int main() { int arr[] = { 1, 2, 3, 4}; int n=4; int sum=0; for (int i = 0; i <n; i++) { sum+=arr[i]; } if (sum % 2==0) { cout <<"2"; } else { cout <<"1"; } return 0; }
विधि 2 - सरणी में तत्वों की विषम संख्या की गणना करें। यदि मौजूद विषम संख्याओं की संख्या भी है तो हम 2 लौटाते हैं, अन्यथा हम 1 लौटते हैं।
इनपुट - 1 2 3 4 5
आउटपुट - 1
स्पष्टीकरण - नहीं। सरणी में 3 . है
योग को सम बनाने के लिए न्यूनतम संख्या 1 जोड़ें।
उदाहरण
#include<iostream> using namespace std; int main() { int arr[] = { 1, 2, 3, 4,5}; int n=5; int odd = 0; for (int i = 0; i < n; i++) { if (arr[i] % 2!=0) { odd += 1; } } if (odd % 2==0) { cout <<"2"; } else { cout <<"1"; } return 0; }
विधि 3 - एक ध्वज चर लें (0 के रूप में आरंभ)। जब भी हम सरणी में विषम तत्व पाते हैं तो हम बूलियन चर पर NOT(!) ऑपरेशन करते हैं। यह तार्किक ऑपरेटर ध्वज चर के मान को उलट देता है (अर्थात यदि यह 0 है, तो यह चर को 1 में परिवर्तित करता है और इसके विपरीत)।
इनपुट - 1 2 3 4 5
आउटपुट - 1
स्पष्टीकरण - वैरिएबल को 0 के रूप में इनिशियलाइज़ किया गया।
सरणी को ट्रैवर्स करना
1 विषम है, परिवर्तनशील परिवर्तित 1.
2 सम है
3 विषम है, परिवर्तनशील 0 बदल गया है।
4 सम है
5 विषम है, परिवर्तनशील परिवर्तित 1
यदि चर मान 1 है तो इसका मतलब है कि विषम संख्या में विषम तत्व मौजूद हैं, तत्वों का योग बनाने के लिए न्यूनतम संख्या 1 जोड़कर है।
वरना न्यूनतम संख्या 2 है।
उदाहरण
#include<iostream> using namespace std; int main() { int arr[] = { 1, 2, 3, 4,5}; int n=5; bool odd = 0; for (int i = 0; i < n; i++) { if (arr[i] % 2!=0) { odd = !odd; } } if (odd) { cout <<"1"; } else { cout <<"2"; } return 0; }