Володе очень понравились задачи олимпиады по информатике, поэтому он решил ходить **...

0 голосов
131 просмотров

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


Информатика (192 баллов) | 131 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Python 3:
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

(148k баллов)
0
Мог бы не копировать с другого сайта . Если что это неверный ответ