
Як відомо день програміста припадає на 256 день року, у невисокосний рік це - 13 вересня, а у
високосний — 12. Не забудьте привітати своїх колег і наставників. Аналогічно пропонується розпізнати число та номер місяця, що припадає на день за номером n у невисокосному2014 році. Вхідні дані Натуральне число n (1 ≤ n ≤365). Вихідні дані Число (від 1 до 31) та номер місяця (від 1 до 12), що відповідає дню з номером n.

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

Ответ:
n = int(input("Введіть номер дня: "))
if n <= 31:
print(n, "січня")
elif n <= 59:
print(n - 31, "лютого")
elif n <= 90:
print(n - 59, "березня")
elif n <= 120:
print(n - 90, "квітня")
elif n <= 151:
print(n - 120, "травня")
elif n <= 181:
print(n - 151, "червня")
elif n <= 212:
print(n - 181, "липня")
elif n <= 243:
print(n - 212, "серпня")
elif n <= 273:
print(n - 243, "вересня")
elif n <= 304:
print(n - 273, "жовтня")
elif n <= 334:
print(n - 304, "листопада")
else:
print(n - 334, "грудня")
Объяснение:
Приклад використання програми:
Введіть номер дня: 256
12 вересня
Введіть номер дня: 60
29 лютого
Увага! Використання 29 лютого можливе тільки в високосному році. В цьому прикладі ми розглядаємо невисокосний 2014 рік, тому програма повинна вивести помилку.



Доброго дня! Задача, яку ви описали, полягає в тому, щоб знайти число та номер місяця, які відповідають заданому номеру дня в невисокосний рік 2014. Для вирішення цієї задачі можна скористатися наступним алгоритмом:
Перевірте, чи є заданий рік високосним. Для цього перевірте, чи ділиться він націло на 4, але не ділиться націло на 100. Також, якщо рік ділиться націло на 400, він також є високосним.
- Якщо рік є високосним, то 12 вересня має номер 256, і відповідно, номер 1 вересня - 244.
- Якщо рік є невисокосним, то 13 вересня має номер 256, і відповідно, номер 1 вересня - 245.
Обчисліть номер місяця, віднімаючи від заданого номеру дня відповідний зсув (244 або 245).
- Якщо рік є високосним, відніміть 244.
- Якщо рік є невисокосним, відніміть 245.
Визначте число, яке відповідає отриманому номеру місяця.
Виведіть отримане число та номер місяця.
Нижче наведений код, який реалізує описаний алгоритм на мові Python:
pythondef find_date(n):
if n <= 244: # Невисокосний рік
month_offset = 245
else: # Високосний рік
month_offset = 244
month = 1
while n > month_offset:
n -= month_offset
month += 1
return n, month
n = int(input("Введіть номер дня (1-365): "))
day, month = find_date(n)
print("Число: ", day)
print("Місяць: ", month)
Наприклад, якщо ввести n = 256
, програма виведе:
makefileЧисло: 13
Місяць: 9
Будь ласка, привітайте своїх колег та наставників з Днем програміста!


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