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

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

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

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

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

  • रक्षा मंत्रालय =10^9 + 7
  • भागफल :=(k / 20) का न्यूनतम मान
  • शेष :=k mod 20
  • यदि शेषफल 0 के समान है, तो
    • रिटर्न ((42 * भागफल - 2) मॉड एमओडी)
  • अन्यथा,
    • रिटर्न ((42 * भागफल + 2 * शेष) मॉड एमओडी)

उदाहरण

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

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. पायथन में सबसे लंबी श्रृंखला बनाने वाले बक्से की संख्या खोजने का कार्यक्रम?

    मान लीजिए कि हमारे पास बक्सों की एक सूची है, यहाँ प्रत्येक प्रविष्टि के दो मान हैं [प्रारंभ, अंत] (प्रारंभ <अंत)। हम दो बक्सों को जोड़ सकते हैं यदि एक का अंत दूसरे के प्रारंभ के बराबर हो। हमें बक्सों की सबसे लंबी श्रृंखला की लंबाई ज्ञात करनी है। इसलिए, यदि इनपुट ब्लॉक की तरह है =[ [4, 5], [5, 6], [

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

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

  1. पायथन में हम जितने सिक्के एकत्र कर सकते हैं, उन्हें खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक 2D मैट्रिक्स है जहां प्रत्येक सेल कुछ सिक्के संग्रहीत करता है। अगर हम [0,0] से शुरू करते हैं, और केवल दाएं या नीचे जा सकते हैं, तो हमें नीचे दाएं कोने से अधिकतम सिक्कों की संख्या का पता लगाना होगा। तो, अगर इनपुट पसंद है 1 4 2 2 0 0 0 5 तब आउटपुट 14 होग