Входные данные:
А Дата (содержащий dd, MMи yyyy). Объект даты или три отдельных целых числа также допустимы в качестве входных данных.
Выход:
Каждая часть ( dd, MMа yyyy) индивидуально вернулся и чем округлены до ближайшей действительной даты.
Например (в формате dd-MM-yyyy):
21-10-2016становится12-01-6102
Правила соревнований:
- Только
dd,MM,yyyyдействительно, но порядок и какие отдельные-символы , которые вы используете ваш собственный выбор.
Так вот некоторые действительные примеры формата:dd-MM-yyyy;MM/dd/yyyy;yyyy MM dd;ddMMyyyyИ т.д.
И это лишь некоторые примеры недопустимого формата:dd MMM yyyy;dd-MM-'yy; и т.п. - Вы также можете просто ввести объект Date, если ваш язык поддерживает его, или три отдельных целочисленных параметра вместо строки, представляющей дату.
- Пожалуйста, укажите, какой формат даты вы использовали! (И вход, и выход должны быть в одном и том же формате.) Также разрешено выводить объект Date, при условии, что он может обрабатывать все тестовые случаи и приведенное ниже правило вызова.
- Переход от юлианского к григорианскому календарю в этом вызове игнорируется. Так что
1582это просто действительный перевернутый год для2851.
См. Информацию о вызовах / советы для всех действительных лет, месяцев и дней. - Поскольку вы не можете иметь февраль как противоположный любому другому месяцу, вам не нужно беспокоиться о високосных годах.
Все обратные годы, месяцы и дни:
- Год всегда можно без проблем поменять местами , начиная с 0001 (перевернутый
1000) до 9999 (остаётся9999). (0000Это неверный ввод, и для него также нет тестов). - Единственные месяцы, которые вы изменили, это: январь (в обратном порядке с октября /
10); Октябрь (в обратном порядке с января /01); Ноябрь (остается ноябрь /11); и декабрь (в обратном порядке через месяц /02-09,12). - Единственные дни, которые вы изменили: 01 (обратный от
10), 02 (обратный от20), 03 (обратный от30), 10 (обратный от01), 11 (остающийся11), 12 (обратный от21), 13 (обратный от31) , 20 (перевернуто с02), 21 (перевернуто с12), 22 (осталось22), 30 (перевернуто с03или аналогично 31 за ноябрь!), 31 (перевернуто с04-09/13-19/23-29).
Основные правила:
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
Не позволяйте языкам кода-гольфа отговаривать вас от публикации ответов на языках, не относящихся к кодексу. Попробуйте придумать как можно более короткий ответ для «любого» языка программирования. - К вашему ответу применяются стандартные правила , поэтому вы можете использовать STDIN / STDOUT, функции / метод с соответствующими параметрами и оператором возврата / вывода, полные программы. Ваш звонок.
- По умолчанию лазейки запрещены.
- Если возможно, добавьте ссылку с тестом для вашего кода.
- Также, пожалуйста, добавьте объяснение, если это необходимо.
Тестовые случаи ( dd-MM-yyyyкак формат):
21-07-2016 -> 12-12-6102
12-11-1991 -> 21-11-1991
01-01-2000 -> 10-10-0002
27-08-1875 -> 31-12-5781
18-12-2010 -> 31-12-0102
13-01-1981 -> 31-10-1891
04-11-1671 -> 30-11-1761 // Semi-tricky case, since November has 30 days
28-11-2036 -> 30-11-6302 // Semi-tricky case, since November has 30 days
14-06-1855 -> 31-12-5581
30-10-9999 -> 03-01-9999
01-01-2851 -> 10-10-1582
70, с возрастом.
10-10-2действительный вывод в третьем случае?
21-07-2016возвращается,12-70-6102округляется до12-12-6102. Не уверен, как вы получите результат##-10-6107..