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

C++ . में संख्याओं का चयन करके योग के निरपेक्ष अंतर के आधार पर खेल के विजेता का अनुमान लगाएं

इस समस्या में, हमें n संख्याओं की एक सरणी दी गई है। और दो खिलाड़ी X और Y हैं। हमारा काम खेल के विजेता की भविष्यवाणी करना है।

खिलाड़ी X के लिए X और Y द्वारा संख्याओं के योग का पूर्ण अंतर जीतने के लिए 4 का गुणज होना चाहिए। यदि यह 4 से विभाज्य नहीं है, तो Y जीत जाता है। प्लेयर एक्स खेल शुरू करता है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

Input: a[] = {3 6 9 12}
Output: X
Explaination:
X selects 3 and 6
Y selects 12 and 9
|3+6 - 12+9| = 12, 12 is a multiple of 4.

इस समस्या को हल करने के लिए, हम जांच करेंगे कि क्या सरणी का प्रत्येक तत्व 4 से विभाज्य है और जब हम किसी संख्या को 4 से विभाजित करते हैं, तो शेषफल को ट्रैक करते हैं। यदि प्रत्येक शेष की घटना सम है, तो X जीत जाता है। यानी पूर्ण अंतर 4 से विभाज्य है।

गिरफ्तारी की संख्या [i]% 4 प्रत्येक मान 0, 1, 2, 3 के लिए सम होना चाहिए।

हमारे एल्गोरिथ्म के कार्यान्वयन को दिखाने के लिए कार्यक्रम,

उदाहरण

#include <iostream>
using namespace std;
int playGame(int a[], int n) {
   int count[4] = {0,0,0,0};
   for (int i = 0; i < n; i++) {
      for(int j = 0; j<4;j++){
         if(a[i]%4 == j)
            count[j]++;
      }
   }
   if (count[0] % 2 == 0 && count[1] % 2 == 0 && count[2] % 2 == 0 && count[3] == 0)
      return 1;
   else
      return 2;
}
int main() {
   int a[] = { 4, 8, 5, 9 };
   int n = sizeof(a) / sizeof(a[0]);
   cout<<"Game Started!\n";
   if (playGame(a, n) == 1)
      cout << "X wins the Game";
   else
      cout << "Y wins the Game";
   return 0;
}

आउटपुट

Game Started!
X wins the Game

  1. C++ में अंकों के योग के अनुसार संख्याओं को क्रमित करें

    इस खंड में हम देखेंगे कि संख्याओं को उनके अंकों के योग के अनुसार कैसे क्रमबद्ध किया जाए। इसलिए यदि किसी संख्या में अंकों का योग कम है, तो उसे पहले रखा जाएगा, फिर अगली संख्या को अंकों के बड़े योग के साथ रखा जाएगा। data = {14, 129, 501, 23, 0, 145} छँटाई के बाद, वे होंगे - data = {0, 14, 23, 501, 145

  1. C++ में size_t और int में क्या अंतर है?

    यहां हम देखेंगे कि C++ में size_t और int में क्या अंतर हैं। यदि हम मानक पर विचार करें, तो दोनों 16 बिट आकार के पूर्णांक हैं। एक सामान्य 64-बिट सिस्टम पर, size_t 64-बिट होगा, लेकिन अहस्ताक्षरित int 32 बिट होगा। इसलिए हम उनका परस्पर उपयोग नहीं कर सकते। एक मानक अनुशंसा यह है कि size_t एक अहस्ताक्षरित

  1. C++ में int और long में क्या अंतर है?

    इंट डेटाटाइप int का उपयोग पूर्णांक मानों को संग्रहीत करने के लिए किया जाता है। यह हस्ताक्षरित या अहस्ताक्षरित हो सकता है। डेटाटाइप इंट 32-बिट या 4 बाइट्स का है। किसी मान को संग्रहीत करने के लिए लंबे समय से कम मेमोरी क्षेत्र की आवश्यकता होती है। कीवर्ड int का उपयोग पूर्णांक चर घोषित करने के लिए किया