কম্পিউটার

C++ এ বিমানের আসন বরাদ্দের সম্ভাবনা


ধরুন n যাত্রীরা ঠিক n আসন সহ একটি বিমানে উঠছেন৷ যদি প্রথম যাত্রী টিকিট হারিয়ে ফেলে এবং এলোমেলোভাবে একটি আসন বেছে নেয়। কিন্তু এর পরে, বাকি যাত্রীরা এই অপারেশনগুলি অনুসরণ করবে -

  • টিকিটের মধ্যে লেখা তাদের নিজস্ব সিট নিন যদি এটি এখনও পাওয়া যায়,

  • অন্য আসনগুলি এলোমেলোভাবে বাছাই করুন যখন তারা তাদের আসন দখল করে দেখেন

তাহলে আমাদের খুঁজে বের করতে হবে যে 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. C++-এ অ্যারেতে উপস্থিত একটি কী K-এর সম্ভাবনা

  2. C/C++ এ শর্তসাপেক্ষ সম্ভাব্যতার জন্য বেইস উপপাদ্য

  3. C++ এ চেসবোর্ডে নাইট সম্ভাবনা

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