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