F. Сила прокрастинации

Вася любит полениться. Особенно ему нравится, когда в году появляется такой лишний денёк, которого обычно не бывает. Напишите программу, которая поможет Васе определить, удастся ли ему побездельничать в определённом году или нет.

Формат ввода

Одно число — год.

Формат вывода:

Одно слово «YES» (удастся) или «NO» (не удастся).

Пример

Ввод

2022

Вывод

NO

Решение

Интересная задача, сложность которой напрямую зависит от стратегии решения.
Можно найти признаки високосных годов (да, их больше одного) и попробовать записать их в том порядке, в котором они даны. Получится достаточно развесистая конструкция, корая прекрасно тренирует навык использования if/else.
Можно записать эти признаки в обратном порядке, отсекая ненужные варианты, тоже хорошая тренировка для оттачивания навыков и изучения приема “это мы уже отсекли в прошлой проверке”.
А можно попробовать составить одну сложную проверку, которая сразу даст ответ на поставленный вопрос.

Посмотреть код

Решение снизу-вверх

Python
year = int(input())

yes = False

if year % 4 == 0:
    if year % 100 == 0:
        if year % 400 != 0:
            yes = False
        else:
            yes = True
    else:
        yes = True
else:
    yes = False

if yes is True:
    print('YES')
else:
    print('NO')

Решение сверху-вниз

Python
year = int(input())
yes = False

if year % 400 == 0:
    yes = True
elif year % 100 == 0:
    yes = False
elif year % 4 == 0:
    yes = True
else:
    yes = False

if yes:
    print('YES')
else:
    print('NO')

Сложное условие

Python
year = int(input())
if year % 4 or not year % 100 and year % 400:
    print('NO')
else:
    print('YES')
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии