Кира нуждается в вашей помощи!
Формат ввода:
Date [and/or Time]
Name
Gender
Reason
Выходной формат:
<Last Name, First Name> <will die/died> on the <DD><st/nd/rd/th> of <MMM, YYYY> [at <hh:mm:ss TT>].
<He/She> <will die/died> of <Reason>.
Детали, Детали:
Ваша программа должна учитывать как минимум следующие форматы ввода даты:
9 November 2003
9/11/2003
November 9, 2003
Форматы времени:
hh tt
hh TT
hh:mm tt
hh:mm TT
hh:mm:ss tt
hh:mm:ss TT
HH
HH:mm
HH:mm:ss
Следующие форматы ввода имени:
first // Stephen
last // Harper
first last // Stephen Harper
last, first // Harper, Stephen
Тестовые случаи:
Входные данные:
2 September 1973
J.R.R. Tolkien
Male
pneumonia
Выход:
Толкин, JRR умер 2 сентября 1973 года.
Он умер от пневмонии.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Если он на самом деле умирает в эту дату, это вина Киры , а не моя.
ОБНОВЛЕНИЕ: Стивен Харпер не умер в указанную дату
Входные данные:
21/12/12 23:59:59 // DD/MM/YY HH:mm:ss
Harper, Stephen // Last, First
Unknown // Gender
a heart attack for no reason // Reason
Выход:
Харпер, Стивен умрет 21 декабря 2012 года в 23:59:59.
Харпер, Стивен умрет от сердечного приступа без причины.
Бонус:
July 21, 1969 02:56:15 GMT
Armstrong, Neil
Male
poisoned moon cheese
--
January 19, 2038 03:14:08 GMT
Everyone
Unknown
Y2K38
Добавьте <st/nd/rd/th>
в конце DD
для ввода.
Ответы:
Javascript (561)
Это, вероятно, может быть значительно уменьшено, но здесь идет:
Пример ввода / вывода:
Попробуйте это на JsFiddle .
источник
i="9 November 2003 03:14:08 GMT\nDouglas Adams\nMale\nI forgot";
дает мне8th of November
.VB.NET,
727695Хорошо, немного поиграл в гольф. Требуется
Option Strict Off
.Он принимает даты во всех тестовых случаях и во многих других форматах благодаря
Date.Parse
. Он также принимает много полов (как вы можете видеть). Если Кира решит ввести только имя или фамилию человека, программа завершится сбоем.источник
MonthName(d.Month)
вызовCSharp - 463 символа
источник
PHP,
509474462461 символовЯ добавил новые строки после каждого,
;
но не посчитал их, поскольку они не должны быть там.Будет ли код обрабатывать даты после 19 января 2038 03:14:07, зависит от того, будет ли он работать на 64-битной машине.
источник
VBA,
384366 байтGolfed
Полный
sub
подпрограмма, которая принимает входные данные ожидаемого типаVariant\String
и выводит связанное сообщение deathnote в окно немедленных сообщений VBEПримечание: VBA неспособен обрабатывать часовые пояса без объявления функций Windows API, так как они не нужны для вопроса, они были исключены
Бонус Верисон,
394376 байтСлегка измененная версия выше, которая обрабатывает все бонусные случаи, за исключением часовых поясов (Исправление для обработки мононимов)
использование
последовательность ввода и вывода примеров задач, как видно из непосредственного окна VBE
источник