2016-07-13 6 views

ответ

0

По этой ссылке http://www.timeanddate.com/calendar/repeating.html - нет однозначного ответа (2016 г. в календарь матчей каждые +/- 28 лет в течение некоторого времени, где 2015 не соответствует лет, как периодически (+ 6, + 6, +11, .. .)

на дополнительной ноте:. в связи с вычислением праздников (например, Пасха является первым воскресенье после первого полнолуния в Spring [https://en.wikipedia.org/wiki/Easter#Computations]) праздники не будет легко повторять периодически либо

+0

Как решить thi s тогда? http://www.codeforces.com/problemset/problem/678/B –

+0

Поскольку вы хотите, чтобы дни недели повторялись, праздники здесь не проблема. Я бы продолжил, проверяя, является ли вход 'y' високосным годом, и если это так, попробуйте следующие годы, проверив' y + 4', 'y + 8' (и так далее) сейчас, если первый день года - тот же день недели, который вы должны сделать. Это исключает проверку того, является ли год «целевого» также високосным годом, но его можно легко проверить, сравнив последний день года. Если это не високосный год, вам нужно будет проверить другие «не-високосные годы», проверив, соответствует ли первый день года вашему запросу. – vonludi

+0

Ну, идея кажется идеальной! Большое спасибо!! –

1

григорианский. календарный период составляет 400 лет (146 097 дней).