Где-то посреди океана есть тихий и прекрасный остров Яшорты. Казалось бы, что может быть прекраснее южного солнца, белоснежных пляжей, экзотических цветов и птиц всех цветов радуги? Но вот дела у местных жителей идут не очень: крокодил не ловится, кокос не растет. Один из старейшин предположил: «Наверное, нас мама родила в понедельник!». Но проверить эту гипотезу оказалось непросто, потому что календаря на острове никто никогда не видал. Долго длились поиски решения, и вот местному шаману предки подсказали заветную формулу (которая на самом деле работает!):
d + ((13*m - 1) / / 5 ) + y + (y / /4 + c / / 4 - 2*c + 777),
где d — число месяца, m — номер месяца, если начинать счет с марта, как это делали в Древнем Риме (март — 1, апрель — 2, ..., февраль — 12), y — номер года в столетии, c — количество столетий.
Если потом вычислить остаток от деления на 7, то мы получим день недели: 1 — понедельник, 2 — вторник, ..., 6 — суббота, 0 — воскресенье.
Помогите местным жителям написать программу, чтобы каждый из жителей мог прийти, ввести день, месяц и год своего рождения и узнать день недели чтобы проверить, действительно ли он невезучий.
Три строки: день, месяц и год рождения аборигена.
Число - день недели, в который родился абориген (1 — понедельник, 2 — вторник, ..., 6 — суббота, 0 — воскресенье).
Ввод | Вывод |
---|---|
1 9 2000 |
5 |
Ввод | Вывод |
---|---|
12 9 2012 |
3 |
Обратите внимание, что во входных данных номер месяца вводится так, как это принято у нас сейчас (январь - 1, февраль - 2 и т.д.)
напиши код на python
Информатика 10 класс Алгоритмы и программирование day month year = int(input()) int(input()) вычисление дня недели старейшины остров Яшорты аборигены южное солнце экзотические цветы
Давайте напишем программу на Python, которая поможет жителям острова Яшорты определить день недели, в который они родились. Мы будем использовать формулу, предоставленную шаманом, и адаптируем её для использования с современным форматом дат.
Вот шаги, которые мы будем выполнять:
Вот код программы:
```python def day_of_week(d, m, y): # Преобразование месяца if m < 3: m += 10 y -= 1 else: m -= 2 # Номер года в столетии и количество столетий y_in_century = y % 100 century = y // 100 # Применяем формулу day_of_week = (d + ((13 * m - 1) // 5) + y_in_century + (y_in_century // 4) + (century // 4) - 2 * century + 777) % 7 return day_of_week # Чтение ввода day = int(input().strip()) month = int(input().strip()) year = int(input().strip()) # Вычисление и вывод дня недели print(day_of_week(day, month, year)) ```Обратите внимание на следующие моменты в коде:
Теперь жители острова могут легко узнать день недели своего рождения!
Давайте разберемся, как мы можем решить задачу с помощью Python. Нам нужно определить день недели для даты рождения, используя данную формулу. Для этого будем следовать следующим шагам:
input()
для этого.Теперь давайте напишем код для этой задачи:
```python # Ввод данных day = int(input("Введите день: ")) month = int(input("Введите месяц: ")) year = int(input("Введите год: ")) # Преобразование месяца if month < 3: month += 12 year -= 1 # Вычисление года и века y = year % 100 c = year // 100 # Применение формулы week_day = (day + ((13 * (month + 1)) // 5) + y + (y // 4) + (c // 4) - 2 * c + 777) % 7 # Вывод результата print(week_day) ```Обратите внимание на следующие моменты:
y
и c
позволяет нам использовать их в формуле для определения дня недели.Таким образом, каждый житель острова Яшорты сможет узнать, в какой день недели он родился, и проверить свою гипотезу о невезучем понедельнике.