Задание №16 — Алгоритмы и программирование
Напишите программу, которая в последовательности натуральных десятичных чисел определяет сумму элементов, запись которых в системе счисления с основанием 7 оканчивается цифрой 3. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход в первой строке натуральное число – количество чисел N (3 ≤ N ≤ 10000), затем N натуральных чисел,
не превышающих 30 000, каждое в отдельной строке.
Программа должна вывести одно число – сумму десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой 3, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данные | Выходные данные |
5 33 63 17 24 53 | 41 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо обработать последовательность из чисел и найти сумму тех, которые при переводе в систему счисления с основанием 7 оканчиваются на цифру 3.
Шаг 1: Разбор условия.
Как определить, на какую цифру оканчивается число в системе счисления с основанием ? Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы. В нашем случае основание равно 7. Значит, нам нужно проверять условие: .
Шаг 2: Алгоритм решения.
1. Сначала считываем количество чисел .
2. Создаем переменную для хранения суммы (например, s = 0) и переменную-счетчик найденных чисел (например, count = 0), чтобы в конце понять, были ли подходящие числа.
3. В цикле от 1 до считываем очередное число .
4. Проверяем условие: если , то прибавляем к сумме s и увеличиваем count на 1.
5. После завершения цикла проверяем значение count. Если оно больше 0, выводим сумму s. Если равно 0, выводим «NO».
Шаг 3: Пример реализации на языке Python.
n = int(input())
s = 0
count = 0
for i in range(n):
x = int(input())
if x % 7 == 3:
s += x
count += 1
if count > 0:
print(s)
else:
print("NO")
Шаг 4: Проверка на примере.
Входные данные: 5 чисел (33, 63, 17, 24, 53).
1. (не подходит, так как )
2. (не подходит, так как )
3. (подходит, )
4. (подходит, )
5. (не подходит, так как )
Сумма подходящих чисел: .
Ответ: 41
Источник: ФИПИ