কম্পিউটার টিউটোরিয়াল

C++-এ বิร์থডে প্যারাডক্স সমাধান

বิร์থডে প্যারাডক্স হল একটি বিখ্যাত প্রোবাবিলিটি সমস্যা। একটি পার্টিতে কতজন লোক থাকলে অন্তত দুজনের জন্মদিন একই হওয়ার প্রোবাবিলিটি নির্দিষ্ট মানের বেশি হবে, সেটা বের করতে হবে।

নন-লিপ ইয়রে ৩৬৫ দিন থাকে। দুজনের জন্মদিন আলাদা হওয়ার প্রোবাবিলিটি = 364/365 = 1 - 1/365।

n জনের সবার জন্মদিন আলাদা হওয়ার প্রোবাবিলিটি:

P(আলাদা) = 1 × (1-1/365) × (1-2/365) × ... × (1-(n-1)/365)

তবে প্রোবাবিলিটি p দেওয়া থাকলে আনুমানিক n বের করার সূত্র:

N = √(2 × 365 × log(1/(1-p)))

উদাহরণ

p = 0.70 হলে, N = √(2 × 365 × log(1/0.30)) ≈ 30 জন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int findPeople(double p) {
    return ceil(sqrt(2 * 365 * log(1/(1-p))));
}

int main() {
    printf("%d", findPeople(0.70));
    return 0;
}

আউটপুট

30
  1. C++ দিয়ে সর্বোচ্চ বেণ্ড (Bends) Barney পথের দৈর্ঘ্য বের করা

  2. C++-এ বাইনারি ট্রিতে K লিফ বিশিষ্ট সব নোড প্রিন্ট করা

  3. C++ প্রোগ্রাম: হ্যাপি বার্থডে প্রিন্ট করা

  4. পাইথনে বার্থডে প্যারাডক্স (Birthday Paradox) - একই জন্মদিনের প্রোবাবিলিটি থেকে লোকজন সংখ্যা বের করুন