Где-то посреди океана есть тихий и прекрасный остров Яшорты. Казалось бы, что может быть прекраснее южного солнца, белоснежных пляжей, экзотических цветов и птиц всех цветов радуги? Но вот дела у местных жителей идут не очень: крокодил не ловится, кокос не растет. Один из старейшин предположил: «Наверное, нас мама родила в понедельник!». Но проверить эту гипотезу оказалось непросто, потому что календаря на острове никто никогда не видал. Долго длились поиски решения, и вот местному шаману предки подсказали заветную формулу (которая на самом деле работает!):
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, которая поможет жителям острова Яшорты определить день недели, в который они родились. Мы будем использовать формулу, предоставленную шаманом, и адаптируем её для использования с современным форматом дат.
Вот шаги, которые мы будем выполнять:
Вот код программы:
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()
для этого.Теперь давайте напишем код для этой задачи:
# Ввод данных
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
позволяет нам использовать их в формуле для определения дня недели.Таким образом, каждый житель острова Яшорты сможет узнать, в какой день недели он родился, и проверить свою гипотезу о невезучем понедельнике.