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

C++-এ বিমান সিট অ্যাসাইনমেন্ট প্রোবাবিলিটি

মান লিজিয়ে n যাত্রী একটি বিমানে চড়ে যায় যাতে ঠিক n সংখ্যা সিট আছে। প্রথম যাত্রী টিকিট হারিয়ে ফেলে এবং এলোমেলো একটি সিট বেছে নেয়। কিন্তু তারপর, বাকি যাত্রীদের এই নিয়মগুলো মেনে চলতে হবে -

  • যদি তাদের নিজের টিকিটের সিট খালি থাকে, তবে সেটিতে বসবে,
  • যদি তাদের সিট заняentz থাকে, তবে এলোমেলো অন্য কোনো সিট বেছে নেবে।

আমাদের বের করতে হবে n-তম যাত্রী তার নিজের সিট পাওয়ার প্রোবাবিলিটি কত? যদি ইনপুট 2 হয়, তবে আউটপুট হবে 0.5। অর্থাৎ দ্বিতীয় যাত্রীর দ্বিতীয় সিট পাওয়ার প্রোবাবিলিটি 0.5 (যখন প্রথম যাত্রী প্রথম সিট নেয়)।

সমাধান

  • যদি n = 1 হয়, তবে 1 রিটার্ন করুন, অন্যথায় 0.5 রিটার্ন করুন।

উদাহরণ (C++)

বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশন দেখুন -

class Solution {
public:
    double nthPersonGetsNthSeat(int n) {
        if (n == 1) return 1;
        return 0.5;
    }
};

ইনপুট

2

আউটপুট

0.50000
  1. সি++-এ অ্যারেতে একটি কী (Key) থাকার প্রোবাবিলিটি বের করার প্রোগ্রাম

  2. সি/সি++-এ শর্তাধীন সম্ভাবনার জন্য বেইজ থিওরেম

  3. C++-এ চেসবোর্ডে ঘোড়ার সম্ভাবনা

  4. লিনাক্সে C++-এর জন্য সেরা IDE কী?