Все благодарности Аднану за то, что он решил эту задачу.
Мой последний вызов, прежде чем я пойду на перерыв .
задача
Если задано положительное целое число n
, если n
оно нечетное, повторите /
это много раз; если n
даже, повторите \
это много раз.
(Серьезно, тестовые примеры будут намного понятнее, чем это описание, так что просто посмотрите на тестовые случаи.)
Спекуляции
- Любой разумный формат ввода / вывода.
- Применяются стандартные лазейки .
Testcases
n output
1 /
2 \\
3 ///
4 \\\\
5 /////
6 \\\\\\
f=n=>...
вы можете сразу назвать его:(n=>...)(5)
. (Или, если вы используете REPL Node.js, вы можете использоватьthis._
, что означает последнююPython, 20 байт
источник
05AB1E / 2sable ,
151198 байт-2 байта благодаря Leaky Nun
-1 байт благодаря Emigna
Попробуйте онлайн! в 05AB1E
или в 2sable
источник
sè×
😮"/\"
может быть „/ \Perl, 20 байт
Включает +1 для
-p
Запустить с вводом на STDIN:
squigly.pl
источник
-p
опцию? Я использую;
в транслитерации именно потому-p
, что;
в конце кода есть неявное значение, поэтому я могу сохранить еще 1 байт. Это работало, по крайней мере, с Perl 5.6 (вероятно, до тех пор, пока-p
опция существовала);
добавленным-p
довольно круто, хорошо сделано.Сетчатка , 21
Попробуйте онлайн (добавлена первая строка, позволяющая запускать несколько тестовых случаев).
источник
C #, 42 байта
Выбирает правильный символ, затем создает новую строку, состоящую из повторений этого символа
n
.источник
PHP, 38 байт
(вариант 38 байт)
(вариант 38 байт)
(вариант 40 байт)
источник
C, 40 байтов
Попробуйте это на Ideone
источник
putchar(92-n%2*45)
такой же длины.Желе , 5 байт
Попробуйте онлайн! или Проверьте все тестовые случаи.
источник
Ø^
он на байт короче⁾/\
.J, 10 байт
Это шестиступенчатый глагол, состоящий из:
Это крюк между
#
и('\/' {~ 2 | ])
; ловушка(f g) y
расширяется доy f (g y)
, поэтому расширяется доy # (... y)
, что для одиночных символов дает списокy
символов.Вторая часть представляет собой 5-состав, состоящий из:
Это оценивает две вилки:
Внутренняя вилка
2 | ]
, является модулем два. Внешняя вилка, следовательно, это:Который берет (
{~
) индекс mod2 (mod2
) из строки/
.Затем с помощью крючка сверху:
Это дает то, что мы хотим, и мы сделали.
источник
Haskell, 25 байт
-1 байт благодаря Дэмиену с
cycle
.источник
f n=cycle"\\/"!!n<$[1..n]
Mathematica,
343228 байтАнонимная функция. Принимает целое число в качестве входных данных и возвращает список символов в качестве выходных данных.
источник
~Table~#
.<>""
и вернуть список символов.~Do~Infinity
и такие в 10.2+ ...Powershell,
3027 байтовОбновить:
Переключение на
param
, благодаря Тиммиду .или чуть более читабельный
Тест:
источник
param($n)
вместо них ввод, как$args
param($n)('\','/')[$n%2]*$n
Mathematica, 29 байт
Жестоко использует тот факт, что
[[1]]
возвращает первый аргумент функции, в то время как[[0]]
возвращает саму функцию (голову), примененную к странно допустимой функции с именем, по"\\"
которой "выполняется оценка""/"
.источник
a[b]
- это просто обобщенное выражение с заголовкомa
(индексом0
) и элементомb
(индексом1
), а функции - это просто особые выражения (на самом деле, было бы правильнее сказать, что функции не t выражений вообще, но это просто правила для преобразования выражений, которые обычно имеют формуf[x...]
). :)Рубин, 15 байт
Смотрите это на eval.in: https://eval.in/632030
источник
Фурье, 27 байт
Попробуйте онлайн!
источник
Брахилог , 15 байт
Попробуйте онлайн!
объяснение
источник
CJam , 9 байт
Попробуйте онлайн!
объяснение
источник
> <> (Рыба), 30 байт
В первый раз, используя этот язык, но я думаю, что я по крайней мере сэкономил немного места, условно используя / как часть вывода или зеркало для перенаправления потока. Вероятно, все еще ужасно неэффективный, хотя, я чувствую, что это могло бы быть сокращено немного больше по крайней мере.
Вход - это начальный стек, выход -
stdout
Попробуйте онлайн!
источник
Дьялог АПЛ , 11 байт
Требуется
⎕IO←0
по умолчанию во многих системах.⊢
Аргумент⍴
изменяет (повторяет)'\/'⊃⍨
строка "/" выбрана2|⊢
остаток от деления, когда аргумент делится на дваПопробуй APL онлайн!
источник
Java 7,
6865 байт3 байта сохранены благодаря @ user902383 и @SeanBean .
Как и в случае с этим ответом , кажется, что самый короткий код-гольф зацикливается и печатается. Оба рекурсивны и
void c(int i){System.out.print(new String(new char[i]).replace("\0",i%2<1?"\\":"/"));}
кажутся длиннее.
Ungolfed & тестовый код:
Попробуй это здесь.
Выход:
источник
x=-1;++x<i
кx=0;x++<i
вам может уменьшить на один байт"\\" : "/"
на92:'/'
;)R,
4746 байтВ R вы должны избежать обратной косой черты. аргумент
sep
также должен быть полностью указан, так как он идет после...
. Таким образом досадно мало возможностей для сохранения символов :(Благодаря баунсиболу для игры в гольф байт.
источник
n=scan();cat(rep(c('\\','/')[n%%2+1],n),sep='')
T-SQL 50 байтов
Конечно, нет
STDIN
здесь, поэтому давайте предположим, что жестко закодированнаяINT
переменнаяDECLARE @ INT
выглядит так: тогда решение:источник
Пип , 8 байт
Непосредственная. Использует модульное индексирование, чтобы выбрать символ и повторение строки, чтобы умножить его. Попробуйте онлайн!
Этот вопрос представляет интересное сравнение между Пипом, Питом и Желе , последние два из которых набрали по 5 байт. Все три языка имеют неявный вывод, с одно-символьными операторами для модульной индексации и повторения строк, и нет необходимости избегать обратной косой черты в строках. Однако есть два ключевых различия:
Ни одна из этих функций, скорее всего, не появится в Пипе 1 (мне не нравится эстетика несбалансированных разделителей, а бессмысленный синтаксис или неявные операнды кажутся слишком чуждыми моему анализатору выражений инфиксных выражений), но я ' Я в порядке, играя в третью скрипку. Несмотря на то, что «удобочитаемость» чрезвычайно относительна при игре в гольф, я бы сказал, что эти три дополнительных байта делают программу Пипа намного проще для понимания с первого взгляда - и в моей книге это достойный компромисс.
1 Несмотря на то, что односимвольные строки в Pip используют один
'
разделитель, вдохновленный CJam и цитированием в Lisp.источник
code golf
:! =golflang design
. Теперь вы можете утверждать, что тот же принцип (чем короче, тем лучше) применим и к языковому дизайну. Я просто говорю, что для меня удобство использования и даже эстетика - это соображения.Pyth , 5 байт
Тестирование.
Модульная индексация в строку
\/
и затем повторение.источник
Perl 6 , 16 байт
Использование:
источник
Юлия, 20 байт
источник
SpecBAS - 28 байт
ODD
возвращает 1, если число нечетное, а затем использует его в качестве индекса для печати правильного символа n раз. Необходимо добавить 1, так как строки SpecBAS начинаются с символа 1.источник
Java 8, 56 байт
Я хотел бы поблагодарить @Kevin Cruijssen за продвижение моего ответа в дальнейшем.
Тестовая программа Ungolfed
источник
На самом деле, 10 байт
Предложения по игре в гольф приветствуются. Попробуйте онлайн!
Как это работает
источник