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

पायथन में टूर्नामेंट में खेले गए मैचों की संख्या की गणना करने का कार्यक्रम

मान लीजिए कि हमारे पास एक संख्या n है। तो टूर्नामेंट में n टीमों की संख्या होती है जिनके कुछ नियम होते हैं -

  • यदि टीमों की संख्या वर्तमान में भी है, तो प्रत्येक टीम का दूसरी टीम में विलय हो जाता है। और कुल (n/2) मैच खेले जाते हैं, उनमें से (n/2) विजेता टीमें अगले राउंड में जाएंगी।

  • यदि टीमों की संख्या विषम है, तो एक टीम बेतरतीब ढंग से टूर्नामेंट में चली जाती है, और बाकी का विलय हो जाता है। तो कुल (n-1)/2 मैच खेले जाते हैं, और (n-1)/2+1 टीमों को विजेता के रूप में अगले दौर में ले जाया जाता है।

हमें खेले गए मैचों की कुल संख्या ज्ञात करनी है ताकि हमें अंतिम विजेता मिल सके।

इसलिए, यदि इनपुट n =10 जैसा है, तो आउटपुट 9 होगा क्योंकि

  • प्रारंभ में 5-5 डिवीजन होंगे, उनमें से 5 योग्य होंगे

  • अब एक टीम को गेम में पास करें और 2-2 टीमों को विभाजित करें, ताकि 3 क्वालीफाई कर सकें

  • अब एक टीम को गेम में पास करें और 1-1 टीमों को विभाजित करें, ताकि 2 क्वालीफाई कर सकें

  • 1-1 से विभाजित करें और एक विजेता के रूप में योग्य होगा।

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

  • उत्तर :=0

  • जबकि n 1 के समान नहीं है, करें

    • f:=(n/2) की मंजिल

    • शेष :=n मॉड 2

    • उत्तर:=उत्तर + च

    • n :=f + शेष

  • वापसी उत्तर

उदाहरण (पायथन)

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

def solve(n):
   ans = 0
   while n != 1:
      f = n//2
      remainder = n % 2
      ans += f
      n = f + remainder

   return ans

n = 10
print(solve(n))

इनपुट

10

आउटपुट

9

  1. पायथन में n नोड्स के साथ BST की संख्या गिनने का कार्यक्रम

    मान लीजिए कि हमारे पास अलग-अलग नोड हैं। सभी अलग हैं। हमें यह पता लगाना है कि हम उन्हें कितने तरीकों से व्यवस्थित कर सकते हैं ताकि हम बाइनरी सर्च ट्री बना सकें। जैसा कि हम बाइनरी सर्च ट्री के बारे में जानते हैं, लेफ्ट सबट्री में हमेशा छोटे मान होते हैं और राइट सबट्री में बड़े मान होते हैं। इसे हल कर

  1. पथों की संख्या गिनने का कार्यक्रम जिसका योग अजगर में k है

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है और दूसरा मान k है, तो हमें उप-चाइल्ड पथों के लिए अद्वितीय नोड की संख्या ज्ञात करनी होगी, जो k के बराबर है। तो, अगर इनपुट पसंद है और k =5, तो आउटपुट 2 होगा, क्योंकि पथ [2, 3] और [1, 4] हैं। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - गिनती :=एक मानच

  1. अजगर में मैट्रिक्स में घिरे द्वीपों की संख्या गिनने का कार्यक्रम

    मान लीजिए कि हमारे पास एक बाइनरी मैट्रिक्स है। जहां 1 भूमि का प्रतिनिधित्व करता है और 0 पानी का प्रतिनिधित्व करता है। जैसा कि हम जानते हैं कि एक द्वीप 1s का एक समूह है जो एक साथ समूहीकृत होता है जिसकी परिधि पानी से घिरी होती है। हमें पूरी तरह से घिरे हुए द्वीपों की संख्या ज्ञात करनी है। तो, अगर इनप