یک برنامه به زبان C بنویسید که با استفاده از srand از stdlib.h و تابع rand یک محاسبهٔ مونت‌کارلو برای تخمین عدد π انجام دهد: N جفت نقطه تصادفی در مربع [0,1]×[0,1] تولید کند، تعداد نقاط داخل چارک واحد را بشمارد و مقدار تقریبی π را چاپ کند.

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

0.0

برای این مسئله هدرهای stdlib.h (برای srand و rand) و time.h (برای seed با time(NULL)) را وارد کنید، از rand() تقسیم‌شده بر RAND_MAX برای تولید اعداد شناور در بازه [0,1) استفاده کنید، در یک حلقه N بار دو عدد تصادفی x و y بسازید و اگر x*x + y*y

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

برای تولید اعداد تصادفی در بازه [0,1)، از (double)rand() / RAND_MAX استفاده کنید؛ اما بعضی پیاده‌سازی‌ها توزیع کامل [0,1) را تضمین نمی‌کنند. برای پوشش دقیق‌تر بازه، می‌توانید از (double)rand() / (RAND_MAX + 1.0) استفاده کنید و همواره srand(time(NULL)) را قبل از استفاده فراخوانی کنید. در حلقه N بار دو عدد x و y تولید کنید و اگر x*x + y*y <= 1، شمارنده داخل چارک واحد را افزایش دهید و در پایان pi ≈ 4.0 * inside / N را چاپ کنید. هر چه N بزرگ‌تر باشد، خطای آماری تقریب pi کمتر و به ∼1/√N می‌رسد.

گزارش

1 پاسخ

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

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