Условие: (x % 4 == 0 and x % 100 != 0) or x % 400 == 0
Рассмотрим скобку x % 4 == 0 and x % 100 != 0:
x % 4 == 0 — число делится на 4 без остатка, т.е. кратно 4-мx % 100 != 0 — число не делится на 100 без остатка, т.е. не кратно 100and говорит о том, что обязательно должны выполняться оба этих условия: число должно быть кратно 4-м И не кратно 100
Вторая часть условия:
x % 400 == 0 — число делится на 400 без остатка, т.е. кратно 400or говорит о том, что либо выполняется условие в скобке, либо то, которое идет после or:
число должно быть кратно 4-м И не кратно 100, ИЛИ число должно быть кратно 400
Пример чисел, которые удовлетворяют условию:
0
4
8
12
128
400
1600
Например, 200 не подойдет:
200 % 4 == 0 — да
200 % 100 != 0 — нет
200 % 400 == 0 — нет
(да И нет) ИЛИ нет = нет ИЛИ нет = нет
Заводим массив из 21 члена. Первый член будет соответствовать первой ступени. Приравняем его значение к единицы. Таким образом для каждой ступени будем считать количество вариантов на неё попадания. Для каждой ступени это будет суммой предыдущих двух членов.
То есть a[0]=1, тогда:
a[1]=1 //на первую ступень можно попасть одним
a[2]=1+1=2 //на вторую ступень двумя - с нулевой и с первой
a[3]=2+1=3 //на третью ступень можно попасть либо с первой, либо со второй, на которую в свою очередь можно попасть двумя
a[4]=3+2=5
a[5]=5+3=8
и так далее
Заметим, что это последовательность Фибоначчи. Тогда решением будет 21-й член этой прогрессии. Можно посчитать вручную, либо через программу. ответ 10 946.