Sur mon site Web, les utilisateurs saisissent leur date de naissance dans le style xx.xx.xx
- trois nombres à deux chiffres séparés par des points. Malheureusement, j'ai oublié de dire aux utilisateurs quel format utiliser. Tout ce que je sais, c'est qu'une section est utilisée pour le mois, une pour la date et une pour l'année. L'année est définitivement au 20ème siècle (1900-1999), donc le format 31.05.75
signifie 31 May 1975
. En outre, je suppose que tout le monde utilise le calendrier grégorien ou julien.
Maintenant, je veux parcourir ma base de données pour nettoyer le gâchis. J'aimerais commencer par traiter avec les utilisateurs dont les dates sont les plus ambiguës, c'est-à-dire celles où la plage de dates possibles est la plus grande.
Par exemple, la date 08.27.53
signifie 27 August 1953
dans le calendrier grégorien ou julien. La date dans le calendrier julien est 13 jours plus tard, donc la plage est juste 13 days
.
En revanche, la notation 01.05.12
peut faire référence à de nombreuses dates possibles. Le premier est 12 May 1901 (Gregorian)
le dernier 1 May 1912 (Julian)
. La plage est 4020 days
.
Règles
- L'entrée est une chaîne au format
xx.xx.xx
, où chaque champ est composé de deux chiffres et complété par un zéro. - La sortie est le nombre de jours dans la plage.
- Vous pouvez supposer que l'entrée sera toujours une date valide.
- Vous ne pouvez utiliser aucune fonction de date ou de calendrier intégrée.
- Le code le plus court (en octets) gagne.
Cas de test
01.00.31
=>12
29.00.02
=>0
(La seule possibilité est29 February 1900 (Julian)
)04.30.00
=>13
06.12.15
=>3291
5, May 1975
censé l'être31st
? De plus, devons-nous tenir compte des années bissextiles?