Задание №16
ID: 408
Программирование: обработка последовательности чисел
Последовательность заканчивается числом 0
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, у которых последняя цифра больше первой.
Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность заканчивается числом 0. Число 0 является признаком окончания ввода и в последовательность не входит.
Программа должна вывести одно число: сумму чисел, у которых последняя цифра больше первой.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 123 54 19 807 0 | 142 |
Задание выполняется на компьютере. После выполнения можно посмотреть решение.
Решение
Идея решения:
- Считываем первое число последовательности.
- Создаём список
b, куда будем добавлять числа, у которых последняя цифра больше первой. - Пока не встретился ноль, для каждого числа находим первую цифру через
str(a)[0], а последнюю цифру через остаток от деления на 10. - Если последняя цифра больше первой, добавляем число в список с помощью
append. - В конце выводим сумму всех подходящих чисел с помощью функции
sum.
Решение на Python:
a = int(input()) # считываем первое число
b = [] # создаём список для подходящих чисел
while a != 0: # обрабатываем числа до нуля
first = int(str(a)[0]) # находим первую цифру числа
last = a % 10 # находим последнюю цифру числа
if last > first: # проверяем, что последняя цифра больше первой
b.append(a) # добавляем подходящее число в список
a = int(input()) # считываем следующее число
print(sum(b)) # выводим сумму подходящих чисел