কম্পিউটার

C++ এ N পাত্রে এক প্রকারের সম্ভাব্যতা সর্বাধিক করা


সম্ভাব্যতা Pi =(অনুকূল ফলাফলের সংখ্যা) / (মোট ফলাফলের সংখ্যা)।

প্রদত্ত একটি সংখ্যা N যা উপস্থিত পাত্রের সংখ্যা৷ এবং আমাদের কাছে দুটি সংখ্যা X এবং Y-এর N কপি রয়েছে। কাজ হল একটি সংখ্যা X-এর অনুলিপিগুলিকে N পাত্রে ভাগ করা যাতে X-এর একটি অনুলিপি আঁকার সম্ভাবনা সর্বাধিক। উপরে থেকে দেখা যায় যে Pi-কে সর্বাধিক করার জন্য, আমরা হয় লবকে (অনুকুল ফলাফলের সংখ্যা) সর্বাধিক করতে পারি বা হরকে (মোট ফলাফলের সংখ্যা) ছোট করতে পারি। এটি এমনভাবে করা যেতে পারে যে শুধুমাত্র একটি পাত্রে Y-এর কপি থাকে এবং সমস্ত পাত্রে X-এর কপি থাকে। N-1 পাত্রে প্রতিটিতে X-এর একটি অনুলিপি থাকে (X-এর N-1 কপি)। এবং 1 কন্টেইনারে Y এর 1 কপি এবং Y এর N কপি রয়েছে।

সম্ভাব্যতা (প্রথম (n-1) পাত্র থেকে X এর অনুলিপি) =Pn-1 =1

সম্ভাব্যতা (শেষ কন্টেইনার থেকে X এর অনুলিপি) =Pn =1/(n+1)

Pm = Pn-1 * (n – 1) + Pn
∴ Pm = n / (n + 1)

ইনপুট − N=1

আউটপুট − N=1 এর জন্য সর্বাধিক সম্ভাব্যতা হল 0.5

ব্যাখ্যা − যেহেতু শুধুমাত্র 1টি ধারক এবং প্রতিটিতে X এবং Y-এর 1টি অনুলিপি রয়েছে৷ X আঁকার সর্বোচ্চ সম্ভাবনা হল 0.5।

ইনপুট − N=3

আউটপুট − N=1 এর জন্য সর্বাধিক সম্ভাব্যতা হল 0.75

ব্যাখ্যা − এখানে সমস্ত পাত্রে X-এর 1 কপি এবং শেষেরটিতে Y-এর 3টি কপি রয়েছে৷

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • N এর জন্য একটি পূর্ণসংখ্যার মান ইনপুট করুন যা পাত্রের সংখ্যা।

  • X-এর সর্বাধিক সম্ভাব্যতাকে maxP বলুন।

    সংরক্ষণ করতে একটি পরিবর্তনশীল ঘোষণা করুন
  • প্রদত্ত N এর জন্য N/(N+1) হিসাবে maxP গণনা করুন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int main(){
   int N=3;
   double maxP = (double)N / (N + 1);
   cout << "Maximum Probability for N = " << N << " is, " <<maxP << endl;
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Maximum Probability for N = 3 is, 0.75

  1. C++ এ একটি স্ট্রিং থেকে প্রথম X স্বরবর্ণ

  2. C++ এ BFS ব্যবহার করে একটি শীর্ষবিন্দু থেকে বিশ্রামের পথ খোঁজা

  3. C++-এ অ্যারেতে উপস্থিত একটি কী K-এর সম্ভাবনা

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