یک برنامهٔ C# بنویسید که از کاربر شمار n را دریافت کند، سپس n عدد اعشاری را بگیرد و طول بردار اقلیدسی (ریشهٔ مجموع مربعات مؤلفه‌ها) را با استفاده از Math.Sqrt محاسبه و نمایش دهد.

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

0.0

برای حل این مسئله، مقادیر را در یک آرایه یا List بخوانید، در یک حلقه مجموع مربعات هر عنصر را جمع کنید و در انتها با Math.Sqrt از مجموع مربعات، طول بردار را محاسبه کنید. از نوع داده double برای دقت شناور استفاده کنید، برای توان دوم بهتر است به‌جای Math.Pow از عملگر x*x استفاده کنید و برای مجموعه‌های خیلی بزرگ یا مقادیر بسیار کوچک/بزرگ به نکات پایداری عددی فکر کنید؛ این محاسبه در محاسبات علمی، تحلیل عددی و برنامه‌های HPC یا مالی کاربرد دارد.

توسط پژوهشگر در 201 روز قبل ساعت 03:31
دسته بندی ها: C# C# for beginner
arash در 201 روز قبل ساعت 06:11

برای این کار از نوع داده double استفاده کنید تا دقت لازم با مقادیر اعشاری و طول بردار فراهم شود. در حلقه، مجموع مربعات هر مقدار را با x*x بجای Math.Pow محاسبه کنید تا هم سریع‌تر باشد و هم به دقت خوبی برسد. بعد از پایان حلقه، طول بردار با Math.Sqrt(مجموع مربعات) محاسبه و نمایش داده می‌شود. اگر ورودی‌ها بزرگ یا در بازه‌های خیلی کوچک/بزرگ هستند، برای پایداری عددی می‌توانید از تکنیک‌های جمع با دقت بالا مانند الگوریتم Kahan استفاده کنید.

گزارش

1 پاسخ

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

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