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

पायथन में समय टी के बाद वायरस की अपेक्षित वृद्धि का पता लगाने का कार्यक्रम

मान लीजिए कोई खतरनाक वायरस है और वह तेजी से बढ़ता है। एक कारक x द्वारा वायरस कोशिकाओं की संख्या बढ़ने की संभावना 0.5 है और साथ ही एक कारक y द्वारा वायरस कोशिकाओं की संख्या बढ़ने की संभावना 0.5 है। अब अगर शुरुआत में वायरस की एक भी कोशिका थी, तो t समय के बाद वायरस कोशिकाओं की अपेक्षित संख्या की गणना करें। अगर उत्तर बहुत बड़ा है, तो मॉड परिणाम 10^9+7.

इसलिए, यदि इनपुट x =2, y =4, t =1 जैसा है, तो आउटपुट 3 होगा, क्योंकि प्रारंभ में, वायरस में केवल एक सेल होता है। x समय के बाद, प्रायिकता 0.5 के साथ, इसका आकार दोगुना (x2) हो जाता है और, अन्य 0.5 की संभावना के साथ, इसका आकार 4 गुना बढ़ जाता है। इस प्रकार, समय t =1 के बाद वायरस सेल की अपेक्षित संख्या है:0.5*2*1 + 0.5*4*1 =3.

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

  • एम =10^9+7
  • कारक:=(x+y)/2 का तल
  • res:=1
  • जबकि t> 0, करें
    • यदि t विषम है, तो
      • res :=(res*factor) mod m
    • कारक:=(कारक*कारक) मॉड एम
    • t :=t/2 का तल
  • रिटर्न रेस

उदाहरण

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

m=10**9+7
def solve(x, y, t):
   factor=(x+y)//2
   res=1
   while t > 0:
      if t % 2:
         res = (res*factor) % m
      factor = (factor*factor) % m
      t = t// 2

   return res

x = 2
y = 4
t = 1
print(solve(x, y, t))

इनपुट

2, 4, 1

आउटपुट

3

  1. पायथन में बहुभुज का क्षेत्रफल ज्ञात करने का कार्यक्रम

    मान लीजिए कि हमारे पास ऑर्डर किए गए बिंदुओं की एक सूची है जो 2 डी विमान पर एक साधारण बहुभुज समापन बिंदु का प्रतिनिधित्व करती है। हमें इस बहुभुज का क्षेत्रफल ज्ञात करना है। इसलिए, यदि इनपुट अंक =[(0, 0), (0,5), (3, 5), (3,0)] की तरह है, तो आउटपुट 15 होगा। इसे हल करने के लिए, हम इन चरणों का पालन क

  1. न्यूनतम संख्या रंग खोजने का कार्यक्रम पायथन में विलय के बाद रहता है

    मान लीजिए हमारे पास रंगों की एक सूची है (आर, जी, बी)। अब अगर दो अलग-अलग रंग एक-दूसरे के बगल में हों तो वे तीसरे रंग की एक ही रंग की वस्तु में बदल सकते हैं। हमें ऐसे परिवर्तनों के किसी भी संभावित क्रम के बाद शेष बची सबसे छोटी संख्या ज्ञात करनी होगी। इसलिए, यदि इनपुट रंग =[G, R, G, B, R] जैसा है, तो

  1. पायथन प्रोग्राम में प्राइम नंबर खोजने के लिए विभिन्न तरीकों का विश्लेषण

    इस ट्यूटोरियल में, हम प्रत्येक विधि के लिए आवश्यक अभाज्य संख्याएँ और समय ज्ञात करने के लिए विभिन्न विधियों को देखने जा रहे हैं। हम निष्पादन समय की गणना करने के लिए समय मॉड्यूल का उपयोग करने जा रहे हैं। विधि-1 यह अभाज्य संख्याओं को खोजने का एक सामान्य तरीका है। यदि संख्या एक से कम या उसके बराबर है,