на с++ Министр культуры определил, что фестивали можно проводить только в
На с++ Министр культуры обусловил, что фестивали можно проводить только в субботу 5-го или субботу 6-го числа хоть какого месяца, а также в четверг каждого числа, кратного n (n изменяется от года к году), хоть какого месяца.
Нужно найти все вероятные даты проведения фестивалей на ближний год, если первое января был k-ый денек недели (где k=1 - пн, а k=7 - воскресенье).
Формат входных данных
Вводятся целые неотрицательные числа n (1 lt;= n lt;= 31) и k (1 lt;= k lt;= 7)
Формат выходных данных
Вывести даты в столбик в формате: "14 of June", где June - заглавие месяца (июнь)
Примечания
Наименования месяцев: January (январь), February (февраль), March (март), April (апрель), May (май), June (июнь), July (июль), August (август), September (сентябрь), October (октябрь), November (ноябрь), December (декабрь).
В феврале 28 дней.
Образцы
входные данные выходные данные
27 5
6 of February
6 of March
27 of May
5 of June
6 of November
Метод решения
Почти никакой арифметики - проходим по всем денькам в году, начиная с первого денька, проверяем условия, обновляем ответ.
Детали
Для удобства заведем постоянный массив чисел - количество дней в каждом месяце. С его помощью мы будет перескакивать из заключительного денька 1-го месяца в 1-ый день последующего.
Нам не необходимо перебегать из декабря в январь!
Также заведем массив строк, хранящий названия каждого месяца.
Будем поддерживать номер текущего денька, номер текущего месяца и каким днем недели является текущий денек. Текущий денек и день недели у нас нумеруются с единицы, месяц - с нуля.
Пока мы не прошли весь декабрь, проверяем условия. 1-ый вариант: dayInWeek == суббота, day == 5 либо day == 6. 2-ой вариант: dayInWeek == четверг, day % n == 0.
Пытаемся перейти на последующий денек. Если следующий денек начнется теснее в следующем месяце, увеличим месяц, денек сбросим до единицы. Ну и обновим денек в неделе: dayInWeek = dayInWeek % 7 + 1.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.