কম্পিউটার

একটি ফাংশন লিখুন যা C++ এ প্রদত্ত সম্ভাব্যতা অনুসারে 3টি সংখ্যার একটি তৈরি করে


এই সমস্যায়, আমাদের একটি ফাংশন তৈরি করতে হবে যা প্রদত্ত সম্ভাব্যতার উপর ভিত্তি করে তিনটি সংখ্যা তৈরি করবে।

এর জন্য, আমরা বিল্ট-ইন র্যান্ডম নম্বর জেনারেটর ফাংশন ব্যবহার করব যা rand(a, b) যা সমান সম্ভাবনা সহ [a, b] সীমার মধ্যে র্যান্ডম সংখ্যা তৈরি করে।

আমাদের কাজ হল শুধুমাত্র তিনটি সংখ্যা A, B, C যা যথাক্রমে P(A), P(B), P(C) এবং সম্ভাব্যতার সংজ্ঞা অনুযায়ী P(A) + P(B) হিসাবে সংঘটিত হওয়ার সম্ভাবনা রয়েছে। + P(C) =1.

Rand(a,b) ব্যবহার করে আমাদের ফাংশন তৈরি করতে। আমরা এর বৈশিষ্ট্যটি ব্যবহার করব যে a থেকে b পর্যন্ত যেকোনো সংখ্যার হওয়ার সম্ভাবনা একই। কিন্তু আমাদের সম্ভাব্যতা P(A) সহ A পেতে হবে ইত্যাদি। সুতরাং, এর জন্য, আমরা সংখ্যার শতকরা সম্ভাব্যতা ব্যবহার করব যেমন P(A) =1/5 হলে, আমরা এটিকে 20% হিসাবে গণ্য করব।

সুতরাং, সর্বাধিক সম্ভাব্যতা শতাংশ হবে 100%, তাই আমরা 0 থেকে 100 পর্যন্ত একটি এলোমেলো সংখ্যা তৈরি করব এবং উত্পন্ন সংখ্যার উপর ভিত্তি করে আমরা নিম্নলিখিত শর্তগুলির উপর ভিত্তি করে A, B, C এর মধ্যে সংখ্যা ফেরত দেব।

কেস 1 − যদি উৎপন্ন সংখ্যাটি 0 এবং P(A) এর মধ্যে হয়, তাহলে A.

ফেরত দিন

কেস 2 − যদি উৎপন্ন সংখ্যাটি P(A) এবং P(A)+P(B) এর মধ্যে হয়, তাহলে B ফেরত দিন।

কেস 3 − যদি উৎপন্ন সংখ্যা P(A)+P(B) এবং 1{P(A)+P(B)+P(C)} এর মধ্যে হয়, C ফেরত দিন।

আসুন একটি উদাহরণ দেখি যা ধারণাটিকে স্পষ্ট করবে,

ইনপুট

A = 3 , P(A) = 35%
B = 43, P(B) = 50%
C = 90, P(C) = 15%

প্রোগ্রামটি ফিরে আসবে,

3 যদি র্যান্ড ফাংশন 0 এবং 35 এর মধ্যে সংখ্যা তৈরি করে।

43 যদি র্যান্ড ফাংশন 35 এবং 85 এর মধ্যে সংখ্যা তৈরি করে।

90 যদি র্যান্ড ফাংশন 85 এবং 100 এর মধ্যে সংখ্যা তৈরি করে।

আমাদের যুক্তির বাস্তবায়ন দেখানোর জন্য প্রোগ্রাম,

উদাহরণ

#include<iostream>
using namespace std;
int randomABC(int A, int B, int C, int PA, int PB, int PC){
   int randNumber = rand()%100+1;
   if (randNumber <= PA)
   return A;
   if (randNumber <= (PA+PB))
   return B;
   else
   return C;
}
int main(){
   cout<<"Random number between 3, 45, 90 with given probabilities is : "<<randomABC(3, 43, 90, 35, 40, 25);
   return 0;
}

আউটপুট

Random number between 3, 45, 90 with given probabilities is : 3

  1. C++ ব্যবহার করে বিটওয়াইজ এবং কমপক্ষে একটি নন-খালি সাব-অ্যারে-এর সংখ্যা

  2. প্রাইম সংখ্যার একটি প্রদত্ত অ্যারে থেকে সদৃশগুলি সরাতে C++ এ একটি প্রোগ্রাম লিখুন

  3. C++ এ একটি প্রদত্ত পরিসরে 'M' দ্বারা বিভাজ্য সংখ্যাগুলি গণনা করুন

  4. C++ এ প্রদত্ত শর্ত সহ গ্রিডে 8টি সংখ্যা পূরণ করুন