Одно из древних поверий гласит, что трёхзначное число красиво, если сумма его минимальной и максимальной цифр равна оставшейся цифре умноженной на 2.
Напишите систему определяющую красоту числа.
Формат ввода
Одно трёхзначное число.
Формат вывода:
YES — если число красивое, иначе — NO.
Пример
Ввод
123
Вывод
YES
Ввод
748
Вывод
NO
Решение
Если разложить число на цифры и найти максимальную и минимальные цифры уже не вызывает проблемы, то найти среднее по значению число для многих становится затруднительно. Это задача на алгоритмическое мышление.
Нужно придумать способ, который позволяет вычислить среднюю по значению цифру.
Как это обычно бывает в программировании подходов к решению задачи может быть несколько:
Например можно сравнивать каждое из чисел по очереди с максимальным и минимальным и если оно не совпало ни с тем ни с другим, то оно и есть среднее. Если совпало, переходим к следующей цифре.
Второй вариант – математический:
Находим сумму всех цифр и вычитаем из нее максимальное и минимальное значения. Оставшееся значение и будет искомым средним.
Посмотреть код
Решение со сравнениями
num = int(input())
first = num // 100
second = num // 10 % 10
third = num % 10
if max(first, second, third) != first and min(first, second, third) != first:
middle = first
elif max(first, second, third) != second and min(first, second, third) != second:
middle = second
else:
middle = third
if max(first, second, third) + min(first, second, third) == middle * 2:
print('YES')
else:
print('NO')
Решение математическое
num = int(input())
first = num // 100
second = num // 10 % 10
third = num % 10
middle = first + second + third - max(first, second, third) - min(first, second, third)
if max(first, second, third) + min(first, second, third) == middle * 2:
print('YES')
else:
print('NO')