397 подписчиков

Решение 19 задачи проекта Эйлера: Считаем воскресенья

Потребовалось разобраться с порядком чередования високосных лет.

Условия задачи

Дана следующая информация (однако, вы можете проверить ее самостоятельно):

  • 1 января 1900 года - понедельник.
  • В апреле, июне, сентябре и ноябре 30 дней.
  • В феврале 28 дней, в високосный год - 29.
  • В остальных месяцах по 31 дню.
  • Високосный год - любой год, делящийся нацело на 4, однако последний год века (ХХ00) является високосным в том и только том случае, если делится на 400.

Сколько воскресений выпадает на первое число месяца в двадцатом веке (с 1 января 1901 года до 31 декабря 2000 года)?

Описание работы программы

Программа для решения задачи Эйлера #19
Программа для решения задачи Эйлера #19

1 января 1901 года - вторник, приму его за второй день, тогда седьмой день будет воскресенье. Первое же число повторяется с разной периодичностью, в зависимости от количества дней в году.

В программе перебираются года и в них - месяца, добавляя количество дней в месяце к общей сумме. Если сумма делится на 7 - это воскресенье .

Если год високосный, то в феврале добавляется один день.

В принципе все понятно из комментариев к коду.

Ответ на задачу:

Считает быстро.

P.S. Изначальная цель блога - получить "фидбек" в комментариях, чтобы более опытные "кодеры" указывали мне на ошибки, советовали и всячески помогали в саморазвитии.

Также приглашаю всех на мой сайт)

На нем Вы можете посмотреть ответ на задачу Эйлера 19 (когда необходима лишь небольшая подсказка) и последний, самый быстрый вариант решения.

Тут где-то кнопочка такая есть, "подписаться" называется))
Тут где-то кнопочка такая есть, "подписаться" называется))

В общем, добро пожаловать на канал))