কম্পিউটার

পার্ক-মিলার র্যান্ডম নম্বর জেনারেশন অ্যালগরিদম বাস্তবায়নের জন্য সি++ প্রোগ্রাম


পার্ক-মিলার র‍্যান্ডম নম্বর জেনারেশন অ্যালগরিদম হল র‍্যান্ডম সংখ্যা তৈরির আরেকটি পদ্ধতি।

এই ধরনের র্যান্ডম নম্বর জেনারেটরের (RNG) একটি সাধারণ সূত্র হল:X_{k+1} =g X(k) mod n

যেখানে মডুলাস n একটি মৌলিক সংখ্যা বা একটি মৌলিক সংখ্যার একটি শক্তি, গুণক g হল উচ্চ গুণক ক্রম মডুলো n-এর একটি উপাদান, এবং বীজ X0 হল n-এর কোপ্রিম।

অ্যালগরিদম

শুরু করুন ভেরিয়েবল ঘোষণা করুন n, a, b, c এবং বীজ পড়ুন ভেরিয়েবল পড়ুন n, a, b, c এবং বীজ Uniform() ভেরিয়েবল ঘোষণা করুন hi, lo, t hi=বীজ বি lo =বীজ - b * hi t দ্বারা বিভক্ত =a * lo - c * hi যদি (t> 0) বীজ =t; অন্য বীজ =t + n; ফেরত বীজ; ডন ফর i =0 থেকে n ফাংশনটিকে এলোমেলোভাবে কল করুন DoneEnd

উদাহরণ কোড

#include  namespace ব্যবহার করে std;const long n =2145678965L;const long a =763214L;const long b =88844L;const long c =7766L; ইস্ট্যাটিক দীর্ঘ বীজ =12345678L; ডাবল ইউনিফর্ম () { দীর্ঘ হাই =বীজ / বি; long lo =বীজ - b * hi; long t =a * lo - c * hi; যদি (t> 0) বীজ =t; অন্য বীজ =t + n; রিটার্ন বীজ;}int main(int argc, char **argv) { ডবল A[10]; জন্য (int i =0; i <10; i++) A[i] =uniform(); cout <<"এলোমেলো সংখ্যাগুলি হল:\n"; (int i =0; i <10; i++) cout < 

আউটপুট

এলোমেলো সংখ্যাগুলি হল:6.50293e+104.27187e+102.1539e+104.62058e+101.70792e+108.24569e+095.93381e+103.63839e+10819e+13019e+13019e 
  1. সিউডো র্যান্ডম নম্বর জেনারেশনের জন্য লিনিয়ার কনগ্রুয়েনশিয়াল জেনারেটর বাস্তবায়নের জন্য C++ প্রোগ্রাম

  2. ইন্টারপোলেশন অনুসন্ধান অ্যালগরিদম বাস্তবায়নের জন্য C++ প্রোগ্রাম

  3. এলোমেলো সংখ্যা তৈরি করতে C++ প্রোগ্রাম

  4. অ্যারে শাফলিংয়ের জন্য ফিশার-ইয়েটস অ্যালগরিদম বাস্তবায়নের জন্য C++ প্রোগ্রাম