یک برنامه 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

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

حتماً 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 انجام دهید.

گزارش

1 پاسخ

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

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