یک برنامهٔ 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) برای ورودی/خروجی سریع‌تر استفاده کنید و اگر نگران سرریز هستید می‌توانید قبل از جمع مربعات مقادیر را بر بزرگ‌ترین قدر مطلق تقسیم کرده و سپس نتیجه را مطابق روش مقیاس‌بندی بازسازی کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:34
دسته بندی ها: C Plus Plus C Plus Plus for beginner
sara در 202 روز قبل ساعت 09:11

برای جلوگیری از سرریز در جمع مربعات، می‌توان مقادیر را بر بزرگ‌ترین قدر مطلق ورودی تقسیم کرد و پس از محاسبه، نتیجه را بازسازی کرد. استفاده از double برای دقت کافی و استفاده از std::sqrt از <cmath> با سهولت در قالب std::sqrt(sum) مناسب است. برای کارایی بهتر از ios::sync_with_stdio(false); cin.tie(nullptr) استفاده کنید و مقادیر خروجی را با std::fixed و std::setprecision نمایش دهید. فراموش نکنید در فایل کد هدرهای مناسب مانند <cmath>، <iomanip> و <iostream> را اضافه کنید.

گزارش

1 پاسخ

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

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