Потребовалось разобраться с порядком чередования високосных лет.
Условия задачи
Дана следующая информация (однако, вы можете проверить ее самостоятельно):
- 1 января 1900 года - понедельник.
- В апреле, июне, сентябре и ноябре 30 дней.
- В феврале 28 дней, в високосный год - 29.
- В остальных месяцах по 31 дню.
- Високосный год - любой год, делящийся нацело на 4, однако последний год века (ХХ00) является високосным в том и только том случае, если делится на 400.
Сколько воскресений выпадает на первое число месяца в двадцатом веке (с 1 января 1901 года до 31 декабря 2000 года)?
Описание работы программы
1 января 1901 года - вторник, приму его за второй день, тогда седьмой день будет воскресенье. Первое же число повторяется с разной периодичностью, в зависимости от количества дней в году.
В программе перебираются года и в них - месяца, добавляя количество дней в месяце к общей сумме. Если сумма делится на 7 - это воскресенье .
Если год високосный, то в феврале добавляется один день.
В принципе все понятно из комментариев к коду.
Ответ на задачу:
Считает быстро.
P.S. Изначальная цель блога - получить "фидбек" в комментариях, чтобы более опытные "кодеры" указывали мне на ошибки, советовали и всячески помогали в саморазвитии.
Также приглашаю всех на мой сайт)
На нем Вы можете посмотреть ответ на задачу Эйлера 19 (когда необходима лишь небольшая подсказка) и последний, самый быстрый вариант решения.
В общем, добро пожаловать на канал))