یک برنامهٔ C# بنویسید که از کاربر شمار n را دریافت کند، سپس n عدد اعشاری را بگیرد و طول بردار اقلیدسی (ریشهٔ مجموع مربعات مؤلفهها) را با استفاده از Math.Sqrt محاسبه و نمایش دهد.
9.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:31 0.0
برای حل این مسئله، مقادیر را در یک آرایه یا List بخوانید، در یک حلقه مجموع مربعات هر عنصر را جمع کنید و در انتها با Math.Sqrt از مجموع مربعات، طول بردار را محاسبه کنید. از نوع داده double برای دقت شناور استفاده کنید، برای توان دوم بهتر است بهجای Math.Pow از عملگر x*x استفاده کنید و برای مجموعههای خیلی بزرگ یا مقادیر بسیار کوچک/بزرگ به نکات پایداری عددی فکر کنید؛ این محاسبه در محاسبات علمی، تحلیل عددی و برنامههای HPC یا مالی کاربرد دارد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای این کار از نوع داده double استفاده کنید تا دقت لازم با مقادیر اعشاری و طول بردار فراهم شود. در حلقه، مجموع مربعات هر مقدار را با x*x بجای Math.Pow محاسبه کنید تا هم سریعتر باشد و هم به دقت خوبی برسد. بعد از پایان حلقه، طول بردار با Math.Sqrt(مجموع مربعات) محاسبه و نمایش داده میشود. اگر ورودیها بزرگ یا در بازههای خیلی کوچک/بزرگ هستند، برای پایداری عددی میتوانید از تکنیکهای جمع با دقت بالا مانند الگوریتم Kahan استفاده کنید.
گزارش