با نوشتن یک برنامهٔ ساده به زبان C++ و استفاده از std::rand از هدر ، مقدار π را با روش مونتکارلو با N نمونه تخمینی محاسبه کن و مقدار نهایی و تعداد نمونهٔ داخل دایره و زمان اجرا را چاپ کن.
7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:27 0.0
برای حل، N نقطهٔ تصادفی در مربع واحد تولید کن با x = std::rand() / (double)RAND_MAX و y مشابه، سپس شمارش کن که چند نقطه داخل دایرهٔ واحد (x*x + y*y
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته: قبل از اجرای حلقه، با srand(time(nullptr)) seed تصادفی بده تا نتایج متفاوتی به دست آید. استفاده از x = std::rand() / (double)RAND_MAX مقدارهای در بازه [0,1] میدهد اما احتمالاً 1.0 هم گاهی ظاهر میشود؛ برای توزیع یکنواختتر میتوان از x = std::rand() / (RAND_MAX + 1.0) استفاده کرد یا از std::uniform_real_distribution با <random> بهره برد. برای اندازهگیری زمان اجرا، از std::chrono استفاده کن و مدت زمان اجرای محاسبهٔ π، همراه با شمارش نقاط داخل دایره و مقدار تخمینی π، چاپ شود. اگر N را بزرگ انتخاب کنی، دقت π بهتری به دست میآید و زمان اجرا افزایش مییابد.
گزارش