Kira a besoin de votre aide!
Format d'entrée:
Date [and/or Time]
Name
Gender
Reason
Format de sortie:
<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>.
Détails, Détails:
Votre programme doit prendre en compte au moins les formats d'entrée de date suivants:
9 November 2003
9/11/2003
November 9, 2003
Formats d'heure:
hh tt
hh TT
hh:mm tt
hh:mm TT
hh:mm:ss tt
hh:mm:ss TT
HH
HH:mm
HH:mm:ss
Les formats d'entrée de nom suivants:
first // Stephen
last // Harper
first last // Stephen Harper
last, first // Harper, Stephen
Cas de test:
Contribution:
2 September 1973
J.R.R. Tolkien
Male
pneumonia
Production:
Tolkien, JRR est décédé le 2 septembre 1973.
Il est décédé d'une pneumonie.
AVERTISSEMENT: S'il meurt réellement à cette date, c'est la faute de Kira , pas la mienne.
MISE À JOUR: Stephen Harper n'est pas mort à la date indiquée
Contribution:
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
Production:
Harper, Stephen mourra le 21 décembre 2012 à 23 h 59 min 59 s.
Harper, Stephen mourra d'une crise cardiaque sans raison.
Prime:
July 21, 1969 02:56:15 GMT
Armstrong, Neil
Male
poisoned moon cheese
--
January 19, 2038 03:14:08 GMT
Everyone
Unknown
Y2K38
Ajouter <st/nd/rd/th>
à la fin de DD
pour la saisie.
Réponses:
Javascript (561)
Cela peut probablement être considérablement réduit, mais voici:
Exemple d'E / S:
Essayez-le sur JsFiddle .
la source
i="9 November 2003 03:14:08 GMT\nDouglas Adams\nMale\nI forgot";
me donne le8th of November
.VB.NET,
727695D'accord, un peu joué au golf. Requiert
Option Strict Off
.Il accepte les dates dans tous les cas de test, et bien d'autres formats grâce à
Date.Parse
. Il accepte également de nombreux genres (comme vous pouvez le voir). Si Kira décide de ne mettre que le prénom ou le nom de la personne, le programme se bloquera.la source
MonthName(d.Month)
appelCSharp - 463 caractères
la source
PHP,
509474462461 caractèresJ'ai ajouté des nouvelles lignes après chacune
;
mais je ne les ai pas comptées car elles n'ont pas besoin d'être là.Que le code gère les dates au-delà du 19 janvier 2038 03:14:07, cela dépend s'il est exécuté sur une machine 64 bits.
la source
VBA,
384366 octetsGolfé
Routine complète
sub
qui prend l'entrée du type attenduVariant\String
et génère le message de note de mort associé dans la fenêtre Immédiatement du VBERemarque: VBA est incapable de gérer les fuseaux horaires sans déclarer les fonctions de l'API Windows, de sorte que celles-ci ne sont pas nécessaires pour la question, elles ont été exclues
Bonus Verison,
394376 octetsVersion légèrement modifiée de ce qui précède qui gère tous les cas de bonus à l'exception des fuseaux horaires (correction pour la gestion des mononymes)
Usage
séquence d'entrée et de sortie des exemples de problèmes vus depuis la fenêtre immédiate du VBE
la source