یک برنامهٔ C++ بنویسید که عدد صحیح n و سپس n عدد اعشاری را از ورودی بخواند و نورم اقلیدسی (ریشهٔ مجموع مربعها) را با استفاده از std::sqrt محاسبه و چاپ کند.
4.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:34 0.0
در فایل کد از هدر برای استفاده از std::sqrt و از نوع double برای دقت کافی استفاده کنید؛ کافی است در یک حلقه مجموع مربعات عناصر را محاسبه کنید و در پایان مقدار std::sqrt(sum) را چاپ کنید (مثلاً با cout و تنظیم دقت توسط std::fixed و std::setprecision). برای دادههای بزرگ از ios::sync_with_stdio(false) و cin.tie(nullptr) برای ورودی/خروجی سریعتر استفاده کنید و اگر نگران سرریز هستید میتوانید قبل از جمع مربعات مقادیر را بر بزرگترین قدر مطلق تقسیم کرده و سپس نتیجه را مطابق روش مقیاسبندی بازسازی کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جلوگیری از سرریز در جمع مربعات، میتوان مقادیر را بر بزرگترین قدر مطلق ورودی تقسیم کرد و پس از محاسبه، نتیجه را بازسازی کرد. استفاده از double برای دقت کافی و استفاده از std::sqrt از <cmath> با سهولت در قالب std::sqrt(sum) مناسب است. برای کارایی بهتر از ios::sync_with_stdio(false); cin.tie(nullptr) استفاده کنید و مقادیر خروجی را با std::fixed و std::setprecision نمایش دهید. فراموش نکنید در فایل کد هدرهای مناسب مانند <cmath>، <iomanip> و <iostream> را اضافه کنید.
گزارش