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

पायथन में कवर किए जा सकने वाले ब्लॉकों की संख्या पता लगाने का प्रोग्राम


मान लीजिए एक पथ में n ब्लॉक हैं, और एक कार्यकर्ता ब्लॉकों पर रंगीन टाइलें लगा रहा है। कार्यकर्ता ब्लॉकों को इस तरह लगा रहा है कि यदि पथ में एक ब्लॉक संख्या 4 से विभाज्य है या/और 2 से विभाज्य है लेकिन 42 से नहीं, तो वह वहां एक रंगीन टाइल लगाता है। हमें उन ब्लॉकों की संख्या पता लगानी है जिन्हें वह कवर कर सकता है यदि उसने k रंगीन टाइलों के साथ शुरुआत की है।

तो, यदि इनपुट k = 16 है, तो आउटपुट 32 होगा।

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

  • MOD = 10^9 + 7
  • quotient := k / 20 का फ्लोर मान
  • remainder := k mod 20
  • यदि remainder, 0 के समान है, तो
    • ((42 * quotient - 2) mod MOD) लौटाएं
  • अन्यथा,
    • ((42 * quotient + 2 * remainder) mod MOD) लौटाएं

उदाहरण

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

def solve(k): MOD = 10**9 + 7 quotient = k // 20 remainder = k % 20 if remainder == 0: return ((42 * quotient - 2) % MOD) else: return ((42 * quotient + 2 * remainder) % MOD) print(solve(16))

इनपुट

16 

आउटपुट

32

  1. - पायथन में बॉक्स की सबसे लंबी श्रृंखला की लंबाई ढूंढने का प्रोग्राम

    बॉक्स की सूची दी गई है जहां प्रत्येक बॉक्स [start, end] (start < end) द्वारा दर्शाया गया है। दो बॉक्स जुड़ सकते हैं यदि एक का अंत दूसरे के शुरू के बराबर हो। सबसे लंबी श्रृंखला की लंबाई ढूंढें। उदाहरण इनपुट: boxes = [[4, 5], [5, 6], [4, 8], [1, 2], [2, 4]] आउटपुट: 4 श्रृंखला: [1, 2] → [2, 4] → [4, 5

  1. - पायथन में संदेश को डिकोड करने के तरीकों की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास a = 1, b = 2, ... z = 26 जैसा मैपिंग है, और हमारे पास एक एन्कोडेड संदेश message स्ट्रिंग है, हमें उन तरीकों की संख्या गिननी है जिनसे इसे डिकोड किया जा सकता है। उदाहरण के लिए, यदि इनपुट message = 222 है, तो आउटपुट 3 होगा, क्योंकि इसे 3 तरीकों से डिकोड किया जा सकता है: bbb, bv, और

  1. - पायथन में अधिकतम सिक्के एकत्र करने का प्रोग्राम

    मान लीजिए हमारे पास एक 2D मैट्रिक्स है जहां प्रत्येक सेल कुछ सिक्के संग्रहीत करता है। यदि हम [0,0] से शुरू करते हैं, और केवल दाएं या नीचे जा सकते हैं, तो हमें नीचे-दाएं कोने तक पहुंचने तक एकत्र किए जा सकने वाले अधिकतम सिक्कों की संख्या ढूंढनी है। उदाहरण के लिए, यदि इनपुट है: 1422 6005 तो आउटपुट