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.75signifie 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.53signifie 27 August 1953dans 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.12peut 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é est- 29 February 1900 (Julian))
- 04.30.00=>- 13
- 06.12.15=>- 3291
5, May 1975censé l'être31st? De plus, devons-nous tenir compte des années bissextiles?