یک برنامه C++ بنویسید که با دریافت تعداد نمونهی N از ورودی، با استفاده از روش مونتکارلو و تابع std::srand از مقدار تقریبی π را محاسبه و چاپ کند.
0.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:51 0.0
برای حل: ابتدا با std::srand و مثلاً time(nullptr) تولید اعداد تصادفی را مقداردهی اولیه کنید، سپس در یک حلقه N بار زوج مختصات (x,y) در بازه [0,1) با استفاده از std::rand()/(double)RAND_MAX تولید کنید و شمار نقاطی که x*x + y*y
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته: مقداردهی اولیه با srand(time(nullptr)) معمولاً برای جلوگیری از تکرار خروجی استفاده میشود. برای تولید اعداد x و y در بازه [0,1)، از (double)rand() / (RAND_MAX + 1.0) استفاده کنید تا مقدار 1 به دست نیاید. بنابراین π تقریباً برابر است با 4 ضرب در نسبت نقاطی که داخل ربع دایره واحد هستند (x*x + y*y <= 1) به N. استفاده از double برای محاسبه و چاپ نتیجه دقت مناسبی فراهم میکند.
گزارش