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

पायथन में बर्थडे पैराडॉक्स (Birthday Paradox)

समस्या विवरण

बर्थडे पैराडॉक्स: कितने लोगों की जरूरत है ताकि उनमें से किन्हीं दो का जन्मदिन समान होने की संभावना दी गई प्रायिकता (p) से अधिक हो?

संभाव्यता सिद्धांत

अलग-अलग जन्मदिन की संभावना:

P(अलग) = 1 × (1 - 1/365) × (1 - 2/365) × ... × (1 - (n-1)/365)

समान जन्मदिन की संभावना:

P(समान) = 1 - P(अलग)

सन्निकटन सूत्र

छोटी संभावनाओं के लिए:

n ≈ √(2 × 365 × ln(1/(1-p)))

उदाहरण: p = 0.70

n = √(2 × 365 × ln(1/0.30)) ≈ √(730 × 1.204) ≈ √879 ≈ 29.6 → 30 लोग

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

import math

def findPeople(p):
    """संभावना p के लिए आवश्यक लोगों की न्यूनतम संख्या"""
    return math.ceil(math.sqrt(2 * 365 * math.log(1 / (1 - p))))

# टेस्ट
for prob in [0.50, 0.70, 0.90, 0.99]:
    n = findPeople(prob)
    print(f"P = {prob:.0%} → कम से कम {n} लोग चाहिए")

# सटीक गणना (लूप)
def exact_people(p):
    prob_diff = 1.0
    n = 0
    while 1 - prob_diff < p:
        n += 1
        prob_diff *= (365 - n + 1) / 365
    return n

print("\nसटीक गणना:")
for prob in [0.50, 0.70, 0.90, 0.99]:
    print(f"P = {prob:.0%} → {exact_people(prob)} लोग")

आउटपुट

P = 50% → कम से कम 23 लोग चाहिए
P = 70% → कम से कम 30 लोग चाहिए
P = 90% → कम से कम 41 लोग चाहिए
P = 99% → कम से कम 57 लोग चाहिए

सटीक गणना:
P = 50% → 23 लोग
P = 70% → 30 लोग
P = 90% → 41 लोग
P = 99% → 57 लोग

रोचक तथ्य: केवल 23 लोगों में 50% संभावना होती है कि दो का जन्मदिन समान हो!

  1. पायथन में issuperset() फंक्शन पायथन में issuperset() फंक्शन

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे।यह मेथड बूलियन True वापस करता है यदि सेट B के सभी तत्व सेट A के सभी तत्वों को समाहित करते हैं जिसे तर्क के रूप में पारित किया जाता है और झूठा वापस करता है यदि A के सभी तत्व B में मौजूद नहीं हैं।इसका म

  1. - पायथन में क्वाइन (Quine)

    क्वाइन एक प्रोग्राम है, जो कोई इनपुट नहीं लेता, लेकिन यह आउटपुट उत्पन्न करता है। यह अपना स्वयं का सोर्स कोड दिखाएगा। इसके अतिरिक्त, क्वाइन की कुछ शर्तें हैं। हम प्रोग्राम के अंदर सोर्स कोड फ़ाइल नहीं खोल सकते। उदाहरण कोड a=a=%r;print (a%%a);print (a%a) आउटपुट a=a=%r;print (a%%a);print (a%a) यह क्व

  1. पायथन में बर्थडे रिमाइंडर एप्लिकेशन पायथन में बर्थडे रिमाइंडर एप्लिकेशन

    इस खंड में हम देखेंगे कि पायथन का उपयोग करके बर्थडे रिमाइंडर एप्लिकेशन कैसे बनाया जाए। समस्या कथन पायथन का उपयोग करके एक एप्लिकेशन बनाएं, जो जांच सके कि वर्तमान दिन पर कोई बर्थडे है या नहीं। यदि सूचीबद्ध किसी व्यक्ति का बर्थडे आज है, तो उस व्यक्ति के नाम के साथ सिस्टम पर एक नोटिफिकेशन भेजें। हमें