#98Средне
Предыдущая дата
Время: 1 s · Память: 256 MB
- Функции
Условие
Дана дата: день , месяц , год . Напишите функцию PrevDate(d, m, y), возвращающую дату предыдущего дня. Пригодятся вспомогательные функции: IsLeapYear(y) — високосный ли год, MonthDays(m, y) — дней в месяце.
Високосный год делится на , но из делящихся на високосны только делящиеся на . В високосном году в феврале дней, иначе .
Формат ввода
В одной строке три целых числа , , — корректная дата ().
Формат вывода
В одной строке три числа: день, месяц и год предыдущего дня.
Примеры
Ввод
1 3 2004
Вывод
29 2 2004
Ввод
1 1 2007
Вывод
31 12 2006
Примечание
Три случая: — день ; , — последний день предыдущего месяца (его даёт MonthDays); января — декабря предыдущего года. В первом примере: ( — високосный).
