Задание №16 — Алгоритмы и программирование
Напишите программу, которая в последовательности натуральных десятичных чисел определяет сумму элементов, запись которых в системе счисления с основанием 5 оканчивается чётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход в первой строке натуральное число – количество чисел N (3 ≤ N ≤ 10000), затем N натуральных чисел,
не превышающих 30 000, каждое в отдельной строке.
Программа должна вывести одно число – сумму десятичных чисел (элементов последовательности), запись которых в 5-ричной системе счисления оканчивается чётной цифрой, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данные | Выходные данные |
6 12 15 10 71 50 11 | 87 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо проанализировать каждое число из последовательности и проверить условие, связанное с его записью в пятеричной системе счисления.
1. Разбор условия: Число в системе счисления с основанием оканчивается на определённую цифру тогда, когда остаток от деления этого числа на равен этой цифре. Следовательно, чтобы узнать последнюю цифру числа в пятеричной системе, нужно вычислить .
2. Чётность цифры: В пятеричной системе счисления используются цифры . Среди них чётными являются . Таким образом, нам подходят числа, у которых остаток от деления на является чётным (делится на без остатка).
3. Алгоритм:
— Сначала считываем количество чисел .
— Заводим переменную для накопления суммы (например, ) и переменную-счётчик или флаг, чтобы понять, нашли ли мы хотя бы одно подходящее число.
— В цикле от до считываем очередное число .
— Проверяем условие: если , то добавляем к сумме и увеличиваем счётчик найденных чисел.
— После цикла проверяем: если счётчик больше нуля, выводим сумму , иначе выводим «NO».
4. Пример на языке Python:
n = int(input())
sum_val = 0
count = 0
for _ in range(n):
x = int(input())
last_digit_5 = x % 5
if last_digit_5 % 2 == 0:
sum_val += x
count += 1
if count > 0:
print(sum_val)
else:
print("NO")
5. Проверка на примере:
Даны числа: .
— (чётно) →
— (чётно) →
— (чётно) →
— (нечётно)
— (чётно) →
— (нечётно)
Итоговая сумма: .
Ответ: 87
Источник: ФИПИ