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