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

पायथन में रैंडम नंबर्स के लिए दिए गए समीकरण का अपेक्षित मान ढूंढना


मान लीजिए हमारे पास एक संख्या n है। x = rand() mod n पर विचार करें, जहां rand() फंक्शन 0 और 10^100 (दोनों समावेशी) के बीच इंटीजर एकसमान रूप से यादृच्छिक रूप से उत्पन्न करता है। और

$$Y = \sqrt{x+\sqrt{x+\sqrt{x+\sqrt{x+...}}}}$$

हमें Y का अपेक्षित मान ढूंढना है। n का मान 1 और 5*10^6 की रेंज में होगा।

उदाहरण के लिए, यदि इनपुट है n = 5, तो आउटपुट होगा 1.696।

समाधान दृष्टिकोण

नेस्टेड रूट के लिए अपेक्षित मान में एक पैटर्न होता है जिसे प्रीकंप्यूट किया जा सकता है। बड़े n के लिए, एक सन्निकटन फॉर्मूला का उपयोग किया जाता है जिसमें एक स्थिर त्रुटि पद शामिल होता है।

  • त्रुटि स्थिरांक err = 2235.023971557617 और max_n = 5 * 10^6 को परिभाषित करें।
  • max_n तक सभी n के लिए प्रीफिक्स सम pref की पूर्व-गणना करें: pref[i] = pref[i-1] + 0.5 * (1 + sqrt(4*i + 1))।
  • यदि n < max_n, तो pref[n-1] / n लौटाएं।
  • अन्यथा, सन्निकटन फॉर्मूला का उपयोग करें: total = (4*(n-1)+5)^1.5 / 6 - 5^1.5 / 6 - err, फिर ans = 0.5 + total / (2*n)।

पायथन कार्यान्वयन

def solve(n):
    err = 2235.023971557617
    max_n = 5 * 10**6
    pref = [0]
    for i in range(1, 5 * 10**6):
        pref.append(pref[-1] + (1 + (4 * i + 1)**0.5) * 0.5)
    if n < max_n:
        return pref[n - 1] / n
    else:
        total = (4 * (n - 1) + 5)**1.5 / 6 - 5**1.5 / 6 - err
        ans = 0.5 + total / (2 * n)
        return ans

n = 5
print(solve(n))

इनपुट

5

आउटपुट

1.69647248786

  1. पायथन प्रोग्राम: फाइबोनैचि नंबर्स पायथन प्रोग्राम: फाइबोनैचि नंबर्स

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट – हमारा कार्य nth फाइबोनैचि नंबर की गणना करना है। फाइबोनैचि नंबर्स का क्रम Fn नीचे दिए गए पुनरावृत्ति संबंध द्वारा दिया जाता है: Fn = Fn-1 + Fn-2 सीड वैल्यूज़ (मानक) के साथ: F₀ = 0 और

  1. - पायथन प्रोग्राम फॉर कॉम्प्लेक्स नंबर्स

    एक पॉजिटिव नंबर के हमेशा दो रियल रूट्स होते हैं। उदाहरण के लिए, यदि x² = 25 है, तो x = ±5 है। हालांकि, यदि x² = -25 है तो रियल रूट्स मौजूद नहीं हैं। किसी भी नेगेटिव नंबर का वर्गमूल उसके एब्सोल्यूट वैल्यू के वर्गमूल को एक काल्पनिक यूनिट j = √-1 से गुणा करने के बराबर होता है। अतः √-25 = √25 × √-1 = √

  1. - पायथन प्रोग्राम: मॉड्यूलर एक्सपोनेंशिएशन

    तीन नंबर x, y और z दिए गए हैं, हमारा कार्य (x^y) % z कैलकुलेट करना है।उदाहरणInput: x = 2, y = 3, p = 3 Output: 2व्याख्या: 2^3 % 3 = 8 % 3 = 2।एल्गोरिदमचरण 1: तीन नंबर इनपुट करें। चरण 2: फिर हम पावर कैलकुलेट करने के लिए pow() और मॉड्यूलर के लिए % का उपयोग करते हैं। चरण 3: रिजल्ट प्रदर्शित करें।उदाहरण