Учитывая дату ввода, ваша запись выведет полный список поддерживаемых версий дистрибутива Ubuntu Linux на эту дату.
Полный список всех релизов выглядит следующим образом :
Версия Кодовое название Дата выпуска Поддерживается до 4.10 Warty Warthog 2004-10-20 2006-04-30 5.04 Седой Еж 2005-04-08 2006-10-31 5.10 Breezy Badger 2005-10-13 2007-04-13 6.06 LTS Dapper Drake 2006-06-01 2009-07-14 2011-06-01 (Сервер) 6.10 Edgy Eft 2006-10-26 2008-04-25 7.04 Feisty Fawn 2007-04-19 2008-10-19 7.10 Gutsy Gibbon 2007-10-18 2009-04-18 8.04 LTS Hardy Heron 2008-04-24 2011-05-12 2013-05-09 (Сервер) 8.10 Intrepid Ibex 2008-10-30 2010-04-30 9.04 Jaunty Jackalope 2009-04-23 2010-10-23 9.10 Кармическая Коала 2009-10-29 2011-04-30 10.04 LTS Lucid Lynx 2010-04-29 2013-05-09 2015-04-30 (Сервер) 10.10 Maverick Meerkat 2010-10-10 2012-04-10 11.04 Натти Нарвал 2011-04-28 2012-10-28 11.10 Oneiric Ocelot 2011-10-13 2013-05-09 12.04 LTS Precise Pangolin 2012-04-26 2017-04-26 12.10 Квантовая Кецаль 2012-10-18 2014-05-16 13,04 рвения Ringtail 2013-04-25 2014-01-27 13.10 Saucy Salamander 2013-10-17 2014-07-17 14.04 LTS Trusty Tahr 2014-04-17 2019-04 14.10 Utopic Unicorn 2014-10-23 2015-07-23 15.04 Vivid Vervet 2015-04-23 2016-01 15.10 Wily Werewolf 2015-10-22 2016-07 16.04 LTS Xenial Xerus 2016-04-21 2021-04
правила
- Для каждой поддерживаемой версии будет выведена точная строка версии, например
4.10
- Для версий LTS (долгосрочная поддержка),
LTS
будут добавлены к версии - Три самые старые версии LTS выпускаются в двух вариантах - для настольных компьютеров и серверов. Если обе эти версии LTS поддерживаются на данную дату, выводом будет просто строка версии, как указано выше. Однако, если поддерживается только версия сервера, вы должны добавить
-server
в конец строки версии - На момент написания этой статьи 4 из последних версий имели только YYYY-MM в поддерживаемых до даты. Вы должны относиться к этим датам, как если бы они были последним днем данного месяца. например, 2019-04 должен рассматриваться как 2019-04-30
- Для дат за пределами полного диапазона дат, зафиксированного в таблице, вывод не будет
- Форматы вводимых дат являются гибкими, но должны содержать некоторые перечисления года, месяца и дня. Количество дней или секунд (или других единиц) из эпохи не являются допустимыми форматами ввода.
- Списки вывода могут быть предоставлены в любом формате, удобном для вашего языка
- Вы можете использовать функции даты и времени на вашем языке
- Вы можете предположить, что все данные верны
Примеры:
Ввод, вывод: 2000-01-01 2004-10-20 4.10 2005-05-05 4.10, 5.04 2006-06-06 5.04, 5.10, 6.06LTS 2010-10-10 6.06LTS-сервер, 8.04LTS, 9.04, 9.10, 10.04LTS, 10.10 2021-04-30 16.04LTS 2021-05-01
2010-10-10
должен вернуться6.06LTS-server, 8.04LTS, 9.04, 9.10LTS, 10.04LTS, 10.10
Ответы:
JavaScript (ES6), 552 байта
Построение массива данных занимает ~ 68% от общего размера. Остальное - форматирование ввода, поиск в массиве и построение выходной строки.
Строка данных разбивается на массив массивов длиной 2 (обычная) или 3 (серверная). Даты сокращаются до числового формата с удалением начального «20» (вместе с любыми начальными нулями после этого). LTS обозначается отрицательной датой начала. Номера версий могут быть легко получены из всех, кроме двух последних цифр положительной даты начала, разделенных на 100.
источник
F=
перед кодом выше), а затем просто вызовите функцию через нее (F("2010-10-10")
). Вы можете запустить его в любой современной браузерной консоли разработчика (клавиша f12).