
Володе очень понравились задачи олимпиады по информатике, поэтому он решил ходить на занятия кружка
по программированию. Придя на первое занятие кружка, он узнал, что занятия будут проходить еженедельно в один и тот же день недели. Помогите Володе составить календарь занятий до конца года – определите даты всех занятий, начиная с первого занятия и до конца года. Программа получает на вход два числа, записанных в разных строках: номер месяца и номер дня месяца, когда проходит первое занятие. Номер месяца может быть одним из четырёх возможных чисел – 9, 10, 11, 12. Номер дня месяца – число от 1 до 30 для сентября и ноября (месяцы с номерами 9 и 11) или от 1 до 31 для октября и декабря (месяцы с номерами 10 и 12). Программа должна вывести даты всех занятий кружка до конца года в хронологическом порядке, по одной дате в строке, сначала месяц, затем день месяца, через пробел. Занятия проходят еженедельно, в тот же день недели, что и первое занятие. Формат вывода дат такой же, как в условии. Считайте, что каникулы отсутствуют, а последнее занятие может происходить в любой день декабря, в том числе и 31 числа.

Ответы на вопрос

m = int(input())
d = int(input())
while True:
d += 7
if m % 2 == 0 and d > 31:
d -= 31
m += 1
elif m % 2 != 0 and d > 30:
d -= 30
m += 1
if m > 12:
break
print(m, d)
Пример ввода:
10
1
Пример вывода:
10 8
10 15
10 22
10 29
11 5
11 12
11 19
11 26
12 3
12 10
12 17
12 24
12 31



Для решения данной задачи нужно использовать циклы и условные операторы. Мы знаем, что занятия проходят еженедельно. Поэтому, чтобы определить даты всех занятий до конца года, мы должны пройтись по всем неделям, начиная с даты первого занятия и до конца года.
Для начала, нам потребуется определить количество дней в каждом из месяцев (сентябре, октябре, ноябре и декабре). Мы можем использовать условные операторы для этого.
Затем, мы можем создать цикл, который начнет работу с даты первого занятия и будет выполняться до конца года. Внутри цикла мы можем использовать функцию print(), чтобы выводить даты занятий.
Вот пример решения на языке Python:
```python # Получаем данные от пользователя month = int(input("Введите номер месяца первого занятия (9, 10, 11 или 12): ")) day = int(input("Введите номер дня месяца первого занятия: "))
# Определяем количество дней в каждом из месяцев if month == 9 or month == 11: days_in_month = 30 else: days_in_month = 31
# Выводим дату первого занятия print(month, day)
# Основной цикл для определения дат занятий while month < 12 or day < days_in_month: # Увеличиваем день на 7 day += 7
# Если новый день больше количества дней в текущем месяце if day > days_in_month: # Увеличиваем месяц на 1 month += 1
# Определяем количество дней в новом месяце if month == 9 or month == 11: days_in_month = 30 else: days_in_month = 31
# Сбрасываем счетчик дней day = day - days_in_month
# Выводим дату занятия print(month, day) ```
При вводе номера месяца (9), и номера дня месяца (1), начиная с этой даты программа выведет следующий результат:
``` 9 1 9 8 9 15 9 22 9 29 10 6 10 13 10 20 10 27 11 3 11 10 11 17 11 24 12 1 12 8 12 15 12 22 12 29 ```
Таким образом, программа выводит все даты занятий кружка по программированию до конца года.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili