Задача Задача №3617660
А
А
Понял. Разберёмся с задачей «как определить день недели по дате» и при необходимости как узнать сегодняшний день. Это решение подходит для средней школы.
- Как определить день недели по заданной дате (метод Zeller’s congruence)
Что нужно сделать:
- Пусть дана дата: день q, месяц m, год год.
- Если месяц январь или февраль, превратите их в месяц 13 и 14 прошлого года: m = месяц + 12, год = год - 1.
- Обозначь год как год = 100*J + K, где K — две младшие цифры года, J — число сотен (вещественно: J = floor(year/100), K = year % 100).
- Вычисли: h = (q + floor(13*(m+1)/5) + K + floor(K/4) + floor(J/4) + 5*J) mod 7
- Интерпретация результата h (0–6): 0 = суббота, 1 = воскресенье, 2 = понедельник, 3 = вторник, 4 = среда, 5 = четверг, 6 = пятница.
Пример (датa 18 августа 2021 года):
- q = 18, месяц = 8, год = 2021. m = 8, год не меняем.
- K = 21, J = 20.
- floor(13*(m+1)/5) = floor(13*9/5) = floor(117/5) = 23.
- floor(K/4) = floor(21/4) = 5.
- floor(J/4) = floor(20/4) = 5.
- 5*J = 100.
- h = (18 + 23 + 21 + 5 + 5 + 100) mod 7 = 172 mod 7 = 4.
- 4 соответствует среде (Wednesday). Значит, 18 августа 2021 года — среда.
- Как узнать текущий день недели или сегодняшнюю дату
- Чтобы узнать, какой сегодня день, лучше всего посмотреть календарь на устройстве (телефон, компьютер) или использовать встроенный календарь в системе.
- Если нужно, могу подсчитать день недели по сегодняшней дате, просто скажи сегодняшнюю дату (если не помнишь, можно дать дату в формате год-месяц-день).
- Что сделать, если задача звучит иначе
- Возможные трактовки:
- Определить день недели по заданной дате (как выше).
- Определить сегодняшнюю дату и день недели вплоть до today.
- Определить, какой день недели будет или был на конкретной дате в прошлом/будущем.
Уточни, пожалуйста:
- Какая именно дата дана в задаче (или нужно ли посчитать сегодняшний день)?
- Если есть конкретная дата, напиши её, и я дам точный ответ по шагам.