На моєму веб-сайті користувачі вводять свою дату народження у стилі xx.xx.xx
- три двоцифрових числа, розділених крапками. На жаль, я забув сказати користувачам, який саме формат використовувати. Я знаю лише те, що один розділ використовується на місяць, один на дату та один на рік. Рік, безумовно, XX століття (1900-1999), тому формат 31.05.75
означає 31 May 1975
. Крім того, я припускаю, що всі використовують або григоріанський, або юліанський календар.
Тепер я хочу пройти свою базу даних, щоб очистити безлад. Я б хотів розпочати, розглядаючи користувачів із самими неоднозначними датами, тобто тими, де діапазон можливих дат найбільший.
Наприклад, дата 08.27.53
означає 27 August 1953
або григоріанський, або юліанський календар. Дата в юліанському календарі на 13 днів пізніше, тож діапазон просто 13 days
.
Навпаки, позначення 01.05.12
можуть стосуватися багатьох можливих дат. Найдавніший є 12 May 1901 (Gregorian)
, а останній - 1 May 1912 (Julian)
. Асортимент є 4020 days
.
Правила
- Введення - це рядок у форматі
xx.xx.xx
, де кожне поле - це дві цифри та нульове значення. - Вихід - кількість днів у діапазоні.
- Можна припустити, що вхід завжди буде дійсною датою.
- Ви не можете використовувати будь-які вбудовані функції дати чи календаря.
- Найкоротший код (у байтах) виграє.
Тестові шафи
01.00.31
=>12
29.00.02
=>0
(Єдина можливість29 February 1900 (Julian)
)04.30.00
=>13
06.12.15
=>3291
5, May 1975
має бути31st
? Крім того, чи повинні ми враховувати високосні роки?