یک برنامه به زبان 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
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای تولید اعداد تصادفی در بازه [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 میرسد.
گزارش