Соревнование
Программа должна вернуть все числа, включенные в группу (последовательность, разделенная запятой и дефисом) чисел.
правила
s
строка последовательности;- все числа, включенные в,
s
являются положительными ; - числа всегда будут увеличиваться ;
- числа никогда не повторятся
- когда вы отвечаете, покажите вывод для
s="1,3-5,9,16,18-23"
Примеры
input(s) outputs
-----------------
1 1
1,2 1,2
1-4 1,2,3,4
1-4,6 1,2,3,4,6
1-4,8-11 1,2,3,4,8,9,10,11
Удачи. знак равно
4-9,1-2
или1-3,9-6
?Ответы:
GolfScript (24 символа)
Например
На самом деле у меня есть четыре 24-символьных решения, но я выбрал это, потому что в нем нет буквенно-цифровых символов.
Как это работает
источник
-
?Perl
252625$_
строка последовательностиПример сеанса:
Добавлен 1 символ к количеству символов для опции (спасибо Гарет, ..kinda).
-n
-p
источник
n
опции.-M5.010
и обменять-e
на-E
golfscript,
4645Моя первая в истории программа сценариев игры в гольф заняла несколько часов.
Вы можете попробовать это на http://golfscript.apphb.com/
Мой лучший способ объяснить это злодеяние:
изменить 1: изменил последний {}% ~ на {} /, также мое описание, вероятно, было неверным.
источник
{
и конечное значения,}:r;
а также сохранить его, заменив1-
на(
. (Между прочим, IIRC - это один трюк, который я также пропустил в своей первой программе GolfScript){...}%~
и{...}/
. Если вы получаете доступ к чему-то дальше вниз по стеку, используяinteger $
первое, то это проще, потому что вам не нужно каждый раз корректировать целое число, чтобы компенсировать то, что вы оставляете в стеке.R , 44 байта
Попробуйте онлайн!
Переопределить,
-
чтобы означатьseq
(то есть:
), окружить ввод сc()
и оценить соответствующее выражение.источник
К, 47
Прецедент
источник
","/:$,/{{x+!1+y-x}. 2#"J"$"-"\:x}'","\:0:0
для 43 байтЖеле , 9 байт
Попробуйте онлайн!
Диадога диапазона
r
принимает два аргумента по обе стороны от нее и создает инклюзивный диапазон между ними.источник
J,
5343413938 символовБерет ввод с клавиатуры:
Выход для запрошенного теста:
источник
Калий , 173 байта
Это было довольно долго и, возможно, не будет конкурировать, так как в конце есть трейлинг.
Запустите онлайн и посмотрите расширенный здесь
источник
Perl (37)
источник
s="1,3-5,9,16,18-23"
, спасибоsay join",",eval<>=~s/-/../gr
29 байтовPython 2,7,
147138 байтИспользование:
Не самая лучшая программа ...
источник
MATLAB, 47 байтов
Этот фрагмент читает строку ввода из командного окна, заменяет '-' на ':', добавляет квадратные скобки к строке и затем оценивает ее, так что ввод будет расширен до полного массива чисел.
Пример ввода:
Пример вывода:
Я считаю, что этот вывод разрешен, так как задача только сказать, что все числа в группе должны отображаться.
источник
Perl 6 , 36 байт
источник
PowerShell,
7971 байтПопробуйте онлайн!
Внутренняя часть изменяет формат «1,5-9,12» на формат «(1), (5..9), (12)», который понимает PowerShell, а затем выполняет его с iex, который создает массив массивов. Затем выполните итерацию по каждому внутреннему массиву, а затем, наконец, объедините все элементы внешнего массива вместе.
Заимствует код из моего ответа «Помоги мне управлять своим временем»
использование
-8 байт благодаря вескам
источник
K (ок) ,
4031 байтРешение
Попробуйте онлайн!
Объяснение:
Удалось больше поиграть в гольф, добавив объяснение ...
источник
Clojure, 110 байт
Работать со строками не очень весело :(
источник
Python 2 , 112 байт
Довольно простой и прямой ответ.
Попробуйте онлайн!
источник
Рубин
-p
, 33 байтаПопробуйте онлайн!
источник
Japt , 12 байт
Попробуй
источник
c@
на£
?£
вместо первых 5 байтов.Python 2 , 90 байт
Попробуйте онлайн!
источник