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

7.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:26

0.0

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

توسط پژوهشگر در 202 روز قبل ساعت 02:26
دسته بندی ها: C for beginner
nima در 202 روز قبل ساعت 09:38

برای هر اجرای متفاوت، از srand(time(NULL)) استفاده کنید تا seed تصادفی باشد. مقادیر x و y را با (double)rand() / (double)RAND_MAX به بازه [0,1] تبدیل کنید تا از تقسیم صحیح جلوگیری شود. نسبت نقاط داخل ربع دایره واحد به کل نقاط برابر pi/4 است، بنابراین pi ≈ 4 *inside / total است. اگر به دقت بالاتری نیاز دارید، از تعداد نمونه‌های بیشتر استفاده کنید یا از توابع تصادفی با کیفیت بالاتر مانند random() یا rand_r با seed مناسب بهره ببرید.

گزارش

1 پاسخ

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

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