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

C++ প্রোগ্রাম: প্রোবাবিলিটি ডেনসিটি ফাংশন ব্যবহার করে র‍্যান্ডম সংখ্যা জেনারেট


প্রোবাবিলিটি ডেনসিটি ফাংশন (pdf), একটি ফাংশন যা এই র‍্যান্ডম ভেরিয়েবলের একটি নির্দিষ্ট মান গ্রহণ করার আপেক্ষিক সম্ভাবনা বর্ণনা করে। এটি একটি সतত র‍্যান্ডম ভেরিয়েবলের ঘনত্ব বলা হয়।

র‍্যান্ডম ভেরিয়েবল একটি নির্দিষ্ট মানের পরিসরে পড়ার সম্ভাবনা এই ভেরিয়েবলের ডেনসিটির интеগ্রাল দ্বারা দিয়ে হয়, তাই এটি ডেনসিটি ফাংশনের নিচের এলাকা কিন্তু হরিজন্টাল অক্ষের উপরে এবং পরিসরের নিম্নতম ও সর্বোচ্চ মানের মাঝপথে দিয়ে দেওয়া হয়। প্রোবাবিলিটি ডিস্ট্রিবিউশন এই প্রোবাবিলিটি ডেনসিটি ফাংশন উপর ভিত্তি করে।

অ্যালগরিদম

শুরু
    n ঘোষণা করুন
    pdf = 0 অ্যাসাইন করুন
    i = 0 থেকে n পর্যন্ত
        pdf = rand() mod 200
        যদি pdf > 360
            1 প্রিন্ট করুন
        অন্যথায় যদি pdf < 0
            0 প্রিন্ট করুন
        অন্যথায়
            pdf * 0.1 / 360 প্রিন্ট করুন
    শেষ
    শেষ
শেষ

উদাহরণ কোড

#include <iostream>
using namespace std;

int n = 6;

int main(int argc, char **argv) {
    int pdf = 0;
    for (int i = 0; i < n; i++) {
        pdf = rand() % 200;
        if (pdf > 360)
            cout << 1 << " ";
        else if (pdf < 0)
            cout << 0 << " ";
        else
            cout << pdf * 0.1 / 360 << " ";
    }
    cout << "...";
}

আউটপুট

0.0508333 0.0238889 0.0491667 0.0319444 0.0536111 0.0375 ...
  1. অ্যারে ব্যবহার করে সংখ্যাগুলোর গড় (Average) বের করার C++ প্রোগ্রাম

  2. রিকার্সন ব্যবহার করে প্রাকৃতিক সংখ্যাগুলোর যোগফল (Sum of Natural Numbers) বের করার C++ প্রোগ্রাম

  3. C#-এ সিকিউর র‍্যান্ডম নম্বর জেনারেট করা

  4. পাইথনে সুডো-র‍্যান্ডম নম্বর জেনারেট করা (random)