با نوشتن یک برنامهٔ ساده به زبان C++ و استفاده از std::rand از هدر ، مقدار π را با روش مونت‌کارلو با N نمونه تخمینی محاسبه کن و مقدار نهایی و تعداد نمونهٔ داخل دایره و زمان اجرا را چاپ کن.

7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:27

0.0

برای حل، N نقطهٔ تصادفی در مربع واحد تولید کن با x = std::rand() / (double)RAND_MAX و y مشابه، سپس شمارش کن که چند نقطه داخل دایرهٔ واحد (x*x + y*y

توسط پژوهشگر در 201 روز قبل ساعت 03:27
دسته بندی ها: C Plus Plus C Plus Plus for beginner
arash در 201 روز قبل ساعت 06:23

نکته: قبل از اجرای حلقه، با 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 را بزرگ انتخاب کنی، دقت π بهتری به دست می‌آید و زمان اجرا افزایش می‌یابد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری