یک برنامهٔ C++ بنویسید که با روش مونتکارلو مقدار تقریبی عدد π را با n نمونه محاسبه کند و در صورت دریافت n نامعتبر (≤0 یا عدد اعشاری) با استفاده از std::exit(EXIT_FAILURE) برنامه را خاتمه دهد.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:05 0.0
از روش نمونهگیری تصادفی در مربع واحد برای تخمین π استفاده کنید: نقاط تصادفی تولید کنید و نسبت نقاط داخلی ربع دایره به کل نمونهها را ضرب در 4 کنید تا π تخمین زده شود. برای تولید تصادفی میتوانید از تابع std::rand() در استفاده و با srand(time(nullptr)) بذردهی کنید؛ ورودی n را بررسی کرده و در صورت نامعتبر بودن با std::exit(EXIT_FAILURE) خارج شوید. نکات: از نوع double برای محاسبات استفاده کنید، برای دقت بیشتر n را بزرگ انتخاب کنید و در برنامهٔ آزمایشی میتوانید با پاراللسازی ساده (مثلاً OpenMP) یا افزایش تعداد نمونهها دقت را بهتر کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای تخمین π با روش مونت کارلو از مربعی واحد و ربع دایره استفاده کنید و نسبت نقاط داخل ربع دایره به کل نمونهها را ضرب در 4 کنید تا π به دست آید. بهجای rand و srand از std::mt19937 همراه با std::uniform_real_distribution برای تولید اعداد تصادفی با کیفیت و قابلیت تکرار استفاده کنید. ورودی n را بهطور دقیق از نظر صحت بررسی کنید؛ اگر n≤0 یا مقدار اعشاری داشت، با std::exit(EXIT_FAILURE) خارج شوید. برای نتیجه دقیقتر از نوع double در محاسبات استفاده کنید و در صورت نیاز با استفاده از OpenMP یا افزایش n میتوانید دقت را بهبود دهید.
گزارش