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

सी++ में दो पूर्णांकों के साथ सम-विषम टर्न गेम

इस समस्या में, हमें तीन पूर्णांक मान A , B और T दिए गए हैं। हमारा कार्य दो पूर्णांकों के साथ सम-विषम टर्न गेम खेलने के लिए एक प्रोग्राम बनाना है।

दो पूर्णांक मान हैं:

टी, जो खेल में घुमावों की संख्या को दर्शाता है।
A खिलाड़ी1 के लिए मान को दर्शाता है
B खिलाड़ी2 के मान को दर्शाता है

यदि T का मान विषम है, तो A का मान 2 से गुणा किया जाता है।
यदि T का मान सम है, तो B का मान 2 से गुणा किया जाता है।
हमें अधिकतम (ए, बी) / मिनट (ए, बी) का मान खोजने और वापस करने की आवश्यकता है अंत में।

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

इनपुट: ए =3, बी =4, टी =3

आउटपुट: 1

स्पष्टीकरण:

पहला मोड़ :T विषम है, A को 2 से गुणा किया जाता है, A =6।
दूसरा मोड़:T सम है, B को 2 से गुणा किया जाता है, B =8।
तीसरा मोड़:T विषम है, A को 2 से गुणा किया जाता है, A =12.

ए =12 बी =4

अधिकतम (ए, बी) =अधिकतम (12, 4) =12
मिनट(ए, बी) =मिनट(12, 4) =4
अधिकतम (ए, बी) / मिनट (ए, बी) =12/8 =1

समाधान दृष्टिकोण:

समस्या का एक सरल समाधान यह होगा कि T के मुड़ने के बाद A और B के मान की गणना की जाए और फिर अधिकतम (A, B) / मिनट (A, B) का मान लौटाया जाए। टी पुनरावृत्तियों को लेकर यह एक प्रभावी समाधान है।

लेकिन वे इस तथ्य के आधार पर अधिक प्रभावी समाधान हो सकते हैं कि T के सम मान के लिए, नए A का मान N*A है और नए B का मान N*B है।

यह अधिकतम (ए, बी) / मिनट (ए, बी) के मान को एक स्थिरांक बनाता है जो के बराबर है
अधिकतम (ए, बी) / मिनट (ए, बी)।

यदि T का मान विषम है, तो A का मान 2*N*A होगा और B का मान N*B होगा।

यह max(A, B) / min(A, B) के मान को एक स्थिरांक बनाता है जो max(2A, B) / min(2A, B) के बराबर होता है।

समस्या का परिणाम अधिकतम (ए, बी) / मिनट (ए, बी) =

अधिकतम (ए, बी) / मिनट (ए, बी), यदि टी सम है
मैक्स (ए, बी) / मिनट (ए, बी), अगर टी विषम है

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <iostream>
using namespace std;

int EvenOddGame(int A, int B, int T) {

   if ( T%2 == 0)
      return (max(A, B) / min(A, B));
   else
      return (max(2*A, B) / min(2*A, B));
   return -1;
}

int main() {

   int A = 3, B = 2, T = 3;
   cout<<"The return value of even odd game is "<<EvenOddGame(A, B, T);

}

आउटपुट -

The return value of even odd game is 3

  1. सी++ में जंप गेम IV

    मान लीजिए कि हमारे पास arr नामक पूर्णांकों की एक सरणी है। हम शुरुआत में इंडेक्स 0 पर हैं। एक चरण में हम इंडेक्स i से i + x पर जा सकते हैं जहां:i + x =0. j जहां:arr[i] और arr[j] समान हैं और i और j समान नहीं हैं। यहाँ n सरणी का आकार है। सरणी के अंतिम सूचकांक तक पहुंचने के लिए हमें न्यूनतम चरणों की संख

  1. C++ में दिए गए मान के साथ पत्ते हटाएं

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

  1. सी ++ में एक डिफ़ॉल्ट मान के साथ सामान्य सरणी का प्रारंभ

    पूरे सरणी को बहुत ही सरलता से शून्य से आरंभ किया जा सकता है। यह नीचे दिखाया गया है। int arr[10] = {0}; हालांकि, उपरोक्त विधि का उपयोग करके संपूर्ण सरणी को गैर-शून्य मान में प्रारंभ करना संभव नहीं है। यह नीचे दिखाया गया है। int arr[10] = {5}; उपरोक्त उदाहरण में, केवल पहले तत्व को 5 से प्रारंभ किया