یک برنامه به زبان C بنویسید که با استفاده از روش مونت‌کارلو و توابع srand و rand از stdlib.h و با دریافت تعداد نمونه n از کاربر مقدار تقریبی π را محاسبه و نمایش دهد.

6.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:21

0.0

برای حل برنامه از توابع rand و srand (در ) برای تولید اعداد تصادفی استفاده کنید؛ برای تولید عدد شناور در بازه [0,1) از (double)rand()/RAND_MAX استفاده کنید. برای هر نمونه یک نقطه (x,y) تولید کنید و اگر x*x+y*y

توسط پژوهشگر در 221 روز قبل ساعت 01:21
دسته بندی ها: C for beginner
arash در 221 روز قبل ساعت 13:33

برای به‌دست آوردن نتایج پویا و متفاوت در هر اجرا، srand(time(NULL)) را قبل از تولید اعداد تصادفی فراخوانی کنید. برای هر نمونه دو عدد x و y را از بازه [0,1) با (double)rand()/RAND_MAX بسازید و اگر x*x + y*y <= 1 باشد، نقطه داخل دایره است. π با تقریب 4.0 * (تعداد نقاط داخل دایره) / (کل نمونه‌ها) محاسبه می‌شود و از type double استفاده کنید. اگر n خیلی بزرگ باشد RAND_MAX محدود است و شاید نیاز به RNG قوی‌تری یا شیوه‌های بهبود تصادفی‌سازی داشته باشید.

گزارش

1 پاسخ

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

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