কম্পিউটার

C++ এ বিন্দু N থেকে N সরে যাওয়ার পর সমস্ত বিন্দুতে পৌঁছানোর সম্ভাবনা খুঁজুন


ধরুন আমাদের একটি সংখ্যা N আছে এটি সংখ্যা রেখায় ব্যক্তির প্রাথমিক অবস্থানকে প্রতিনিধিত্ব করে। আমাদের কাছে L আছে যা ব্যক্তির বাম দিকে যাওয়ার সম্ভাবনা। N বিন্দু থেকে N সরে যাওয়ার পরে আমাদের সংখ্যা রেখার সমস্ত বিন্দুতে পৌঁছানোর সম্ভাবনা খুঁজে বের করতে হবে। প্রতিটি পদক্ষেপ বাম বা ডান দিকে হতে পারে।

সুতরাং, যদি ইনপুট n =2, l =0.5 এর মত হয়, তাহলে আউটপুট হবে [0.25, 0, 0.5, 0, 0.25]

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • উচ্চ :=1 - কম

  • আকারের একটি অ্যারে সংজ্ঞায়িত করুন:n+1 x 2*n+1 এবং 0 দিয়ে পূরণ করুন

  • A[1, n + 1] =উচ্চ, A[1, n - 1] =কম

  • আরম্ভ করার জন্য i :=2, যখন i <=n, আপডেট করুন (i 1 দ্বারা বাড়ান), করবেন −

    • j শুরু করার জন্য :=1, যখন j −=2 * n, আপডেট করুন (j 1 দ্বারা বৃদ্ধি করুন), করুন −

      • A[i, j] :=A[i, j] + (A[i - 1, j - 1] * উচ্চ)

    • j আরম্ভ করার জন্য :=2 * n - 1, যখন j>=0, আপডেট করুন (j 1 দ্বারা কম করুন), করুন −

      • A[i, j] :=A[i, j] + (A[i - 1, j + 1] * কম)

  • আরম্ভ করার জন্য i :=0, যখন i − 2*n+1, আপডেট করুন (i 1 দ্বারা বাড়ান), করবেন −

    • A[n, i]

      প্রদর্শন করুন

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;
void find_prob(int n, double low) {
   double high = 1 - low;
   double A[n + 1][2 * n + 1] = {{0}};
   A[1][n + 1] = high;
   A[1][n - 1] = low;
   for (int i = 2; i <= n; i++) {
      for (int j = 1; j <= 2 * n; j++)
         A[i][j] += (A[i - 1][j - 1] * high);
      for (int j = 2 * n - 1; j >= 0; j--)
         A[i][j] += (A[i - 1][j + 1] * low);
   }
   for (int i = 0; i < 2*n+1; i++)
      cout << A[n][i] << endl;
}
int main() {
   int n = 2;
   double low = 0.6;
   find_prob(n, low);
}

ইনপুট

2, 0.6

আউটপুট

0.36
0
0.48
0
0.16

  1. C++ ব্যবহার করে প্রদত্ত বিন্দু থেকে সম্ভাব্য চতুর্ভুজের সংখ্যা নির্ণয় করুন

  2. C++ এ একটি বৃত্তে ব্যাসের অন্য প্রান্তের স্থানাঙ্কগুলি খুঁজুন

  3. C++ এ একটি প্রদত্ত স্ট্রিং-এ “1(0+)1”-এর সমস্ত প্যাটার্ন খুঁজুন

  4. C++-এ K উৎপত্তির নিকটতম পয়েন্ট খুঁজুন