Задание №16
ID: 408

Программирование: обработка последовательности чисел

Последовательность заканчивается числом 0

Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, у которых последняя цифра больше первой.

Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность заканчивается числом 0. Число 0 является признаком окончания ввода и в последовательность не входит.

Программа должна вывести одно число: сумму чисел, у которых последняя цифра больше первой.

Пример работы программы:

Входные данныеВыходные данные
123
54
19
807
0
142
Задание выполняется на компьютере. После выполнения можно посмотреть решение.

Решение

Идея решения:

  1. Считываем первое число последовательности.
  2. Создаём список b, куда будем добавлять числа, у которых последняя цифра больше первой.
  3. Пока не встретился ноль, для каждого числа находим первую цифру через str(a)[0], а последнюю цифру через остаток от деления на 10.
  4. Если последняя цифра больше первой, добавляем число в список с помощью append.
  5. В конце выводим сумму всех подходящих чисел с помощью функции 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))  # выводим сумму подходящих чисел