
Вопрос задан 17.02.2025 в 11:40.
Предмет Информатика.
Спрашивает Минько Даниил.
Дан массив a из n целых чисел. Требуется определить, является ли сумма квадратов всех его элементов пятизначным числом.
Формат входных данных
На первой строке входного файла записано натуральное число n (n≤100) — число элементов в массиве. На следующей строке через пробел записаны целые числа ai (∣ai∣≤10^3) — элементы массива.
Формат выходных данных
Требуется вывести «YES», если сумма квадратов всех элементов массива является пятизначным числом, и «NO» в противном случае.
Примерывходные данные
3 100 -200 150
3 6 12 -10
выходные данные
"YES"
"NO" C++ HELP
Ответы на вопрос

Отвечает Nikiforova Valeria.
Для решения задачи нужно подсчитать сумму квадратов всех элементов массива и проверить, является ли эта сумма пятизначным числом (т.е. числом от 10000 до 99999 включительно).
Пошаговое объяснение:
Ввод данных:
- В первой строке вводится число — количество элементов массива.
- Во второй строке вводятся целых чисел .
Необходимая операция:
- Нужно вычислить сумму квадратов всех элементов массива.
- Для каждого элемента массива вычисляем квадрат, т.е. , и суммируем все квадраты.
Проверка суммы:
- После того как мы получим сумму всех квадратов, нужно проверить, попадает ли эта сумма в диапазон пятизначных чисел. То есть, она должна быть больше или равна 10000 и меньше или равна 99999.
Вывод результата:
- Если сумма квадратов — пятизначное число, выводим "YES".
- Если нет, выводим "NO".
Алгоритм:
- Прочитаем входные данные.
- Посчитаем сумму квадратов элементов массива.
- Проверим, попадает ли эта сумма в диапазон пятизначных чисел.
- Выведем результат.
Пример:
Для входных данных:
Шаги:
- Сначала квадратируем элементы: , , .
- Суммируем: .
- 72500 — пятизначное число, поэтому выводим "YES".
Для входных данных:
Шаги:
- Квадраты элементов: , , .
- Суммируем: .
- 280 — не пятизначное число, поэтому выводим "NO".
Реализация на C++:
Пояснение к коду:
- Ввод данных:
- Мы сначала считываем количество элементов массива .
- Затем считываем сами элементы массива в вектор .
- Вычисление суммы квадратов:
- Используем цикл для обхода элементов массива и добавляем квадрат каждого элемента в переменную
sum_of_squares
.
- Используем цикл для обхода элементов массива и добавляем квадрат каждого элемента в переменную
- Проверка диапазона:
- Если сумма квадратов лежит в пределах от 10000 до 99999, выводим "YES", иначе — "NO".
Важные моменты:
- Массив может содержать как положительные, так и отрицательные числа, но квадраты этих чисел всегда будут положительными, так что отрицательные числа не требуют особой обработки.
- Убедитесь, что диапазон суммы квадратов элементов не выходит за пределы возможных значений для стандартных целых чисел, однако в рамках ограничений задачи это не вызовет проблем.
Этот алгоритм работает за , что достаточно эффективно при .
Похожие вопросы









Топ вопросов за вчера в категории Информатика









Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili