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

पायथन में संख्या कम करने वाले खेल के विजेता को खोजने का कार्यक्रम

मान लीजिए अमल और बिमल एक खेल खेल रहे हैं। उनके पास एक संख्या n है और वे जांचते हैं कि यह 2 की शक्ति है या नहीं। यदि ऐसा है, तो वे इसे 2 से विभाजित करते हैं। अन्यथा, वे इसे अगली निचली संख्या से कम कर देते हैं जो कि 2 की शक्ति भी है। जो कोई भी संख्या को घटाकर 1 कर देगा वह गेम जीत जाएगा। अमल हमेशा खेल शुरू करता है, फिर हमें विजेता का नाम ढूंढना होता है।

इसलिए, यदि इनपुट n =19 की तरह है, तो आउटपुट अमल होगा क्योंकि, 19 2 की शक्ति नहीं है, इसलिए अमल इसे घटाकर 16 कर देता है, फिर बिमल को 2 से विभाजित करके 8 बना देता है, फिर अमल को प्राप्त करने के लिए 2 से विभाजित करता है। 4, फिर बिमल ने इसे 2 बनाया और अंत में अमल ने इसे 1 बनाने के लिए विभाजित किया और गेम जीत लिया।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • res :=0
  • जबकि n> 1, करो
    • b :=1
    • जबकि बी * 2 <एन, करते हैं
      • b :=b * 2
    • n :=n - b
    • रेस :=रेस + 1
  • यदि रेस मोड 2 0 के समान है, तो
    • रिटर्न 'अमल'
  • अन्यथा,
    • वापस 'बमाल'

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

def solve(n):
   res = 0
   while(n > 1):
      b = 1
      while(b * 2 < n):
         b *= 2
      n -= b
      res += 1
   if res % 2 == 0:
      return 'Amal'
   else:
      return 'Bmal'

n = 19
print(solve(n))

इनपुट

19

आउटपुट

Amal

  1. पायथन में अच्छे जोड़े की संख्या खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक सरणी संख्या है। यहाँ एक युग्म (i,j) को एक अच्छा जोड़ा कहा जाता है यदि nums[i], nums[j] और i

  1. पायथन में बार-बार पूर्णांक गेम को हटाने के लिए चालों की संख्या खोजने का कार्यक्रम

    मान लीजिए कि दो मित्र अमल और बिमल संख्याओं की एक क्रमबद्ध सूची के साथ एक खेल खेल रहे हैं जिसे अंक कहते हैं। इस खेल में अमल एक ही बारी में कोई तीन अंक चुनता है। बिमल उनमें से एक को हटा देता है, और फिर अमल उनमें से एक को हटा देता है। सूची विषम संख्या में तत्वों से शुरू होती है। यहां अमला सूची में दोहर

  1. एक सूची में सबसे बड़ी संख्या खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन दी गई सूची इनपुट, हमें दी गई सूची में सबसे बड़ी संख्या खोजने की जरूरत है। यहां हम दो दृष्टिकोणों पर चर्चा करेंगे सॉर्टिंग तकनीकों का उपयोग करना अंतर्निहित अधिकतम() फ़ंक्शन का उपयोग करना दृष्टिक