یک برنامهٔ 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) یا افزایش تعداد نمونه‌ها دقت را بهتر کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:05
دسته بندی ها: C Plus Plus C Plus Plus for beginner
sara در 221 روز قبل ساعت 14:40

برای تخمین π با روش مونت کارلو از مربعی واحد و ربع دایره استفاده کنید و نسبت نقاط داخل ربع دایره به کل نمونه‌ها را ضرب در 4 کنید تا π به دست آید. به‌جای rand و srand از std::mt19937 همراه با std::uniform_real_distribution برای تولید اعداد تصادفی با کیفیت و قابلیت تکرار استفاده کنید. ورودی n را به‌طور دقیق از نظر صحت بررسی کنید؛ اگر n≤0 یا مقدار اعشاری داشت، با std::exit(EXIT_FAILURE) خارج شوید. برای نتیجه دقیق‌تر از نوع double در محاسبات استفاده کنید و در صورت نیاز با استفاده از OpenMP یا افزایش n می‌توانید دقت را بهبود دهید.

گزارش

1 پاسخ

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

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