یک برنامه C++ بنویسید که با دریافت تعداد نمونه‌ی N از ورودی، با استفاده از روش مونت‌کارلو و تابع std::srand از مقدار تقریبی π را محاسبه و چاپ کند.

0.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:51

0.0

برای حل: ابتدا با std::srand و مثلاً time(nullptr) تولید اعداد تصادفی را مقداردهی اولیه کنید، سپس در یک حلقه N بار زوج مختصات (x,y) در بازه [0,1) با استفاده از std::rand()/(double)RAND_MAX تولید کنید و شمار نقاطی که x*x + y*y

توسط پژوهشگر در 220 روز قبل ساعت 01:51
دسته بندی ها: C Plus Plus C Plus Plus for beginner
sara در 220 روز قبل ساعت 11:48

نکته: مقداردهی اولیه با srand(time(nullptr)) معمولاً برای جلوگیری از تکرار خروجی استفاده می‌شود. برای تولید اعداد x و y در بازه [0,1)، از (double)rand() / (RAND_MAX + 1.0) استفاده کنید تا مقدار 1 به دست نیاید. بنابراین π تقریباً برابر است با 4 ضرب در نسبت نقاطی که داخل ربع دایره واحد هستند (x*x + y*y <= 1) به N. استفاده از double برای محاسبه و چاپ نتیجه دقت مناسبی فراهم می‌کند.

گزارش

1 پاسخ

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

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