Auf meiner Website geben Benutzer ihr Geburtsdatum im Stil ein xx.xx.xx
- drei zweistellige Zahlen, die durch Punkte getrennt sind. Leider habe ich vergessen, den Benutzern genau mitzuteilen, welches Format sie verwenden sollen. Ich weiß nur, dass ein Abschnitt für den Monat, einer für das Datum und einer für das Jahr verwendet wird. Das Jahr liegt definitiv im 20. Jahrhundert (1900-1999), also 31.05.75
bedeutet das Format 31 May 1975
. Ich gehe auch davon aus, dass jeder entweder den Gregorianischen oder den Julianischen Kalender verwendet.
Jetzt möchte ich meine Datenbank durchsuchen, um das Chaos zu beseitigen. Ich möchte zunächst mit den Benutzern mit den mehrdeutigsten Daten umgehen, dh mit denen, bei denen der Bereich möglicher Daten am größten ist.
Zum Beispiel 08.27.53
bedeutet das Datum 27 August 1953
entweder im Gregorianischen oder im Julianischen Kalender. Das Datum im julianischen Kalender ist 13 Tage später, die Reichweite ist also gerecht 13 days
.
Im Gegensatz dazu kann sich die Notation 01.05.12
auf viele mögliche Daten beziehen. Das früheste ist 12 May 1901 (Gregorian)
und das späteste ist 1 May 1912 (Julian)
. Die Reichweite beträgt 4020 days
.
Regeln
- Die Eingabe ist eine Zeichenfolge im Format
xx.xx.xx
, bei der jedes Feld zweistellig und mit Nullen aufgefüllt ist. - Die Ausgabe ist die Anzahl der Tage im Bereich.
- Sie können davon ausgehen, dass die Eingabe immer ein gültiges Datum ist.
- Sie dürfen keine integrierten Datums- oder Kalenderfunktionen verwenden.
- Der kürzeste Code (in Bytes) gewinnt.
Testfälle
01.00.31
=>12
29.00.02
=>0
(Die einzige Möglichkeit ist29 February 1900 (Julian)
)04.30.00
=>13
06.12.15
=>3291
5, May 1975
sein31st
? Müssen wir auch Schaltjahre berücksichtigen?