Помогите! Мой аппарат неисправен, и всякий раз, когда я пытаюсь повторить строку, я получаю грязные результаты. Вместо того, чтобы повторять одну и ту же строку N раз, она заполняет квадрат NxN каждым из своих символов и складывает квадраты вверх.
Например, учитывая String "Test"
и число 2
, вместо "TestTest"
:
TT
TT
ee
ee
ss
ss
tt
tt
После того, как я увидел это некоторое время, мне это понравилось. Ваша задача сегодня - воспроизвести это странное поведение. Учитывая непустую строку, которая состоит только из печатного ASCII и положительного целого числа, выведите строку, возвращаемую моим неисправным устройством.
Все стандартные правила применяются.
Ввод и вывод могут быть обработаны любым разумным способом.
Это код-гольф , поэтому выигрывает самый короткий код в байтах на каждом языке.
Тестовые случаи
вход Выход ---------- "Тест", 2 TT TT й й сс сс тт тт ---------- "УуУ", 3 уУУ уУУ уУУ ууу ууу ууу уУУ уУУ уУУ ---------- "А", 5 AAAAA AAAAA AAAAA AAAAA AAAAA ----------
Вы можете найти более крупный тестовый пример здесь . Удачи и веселого игры в гольф!
it fills an NxN square
- Не правильное утверждение.Ответы:
Желе , 4 байта
Вдохновленный злоупотреблением г-ном Xcoder желе
Полная программа, принимающая строку и число в качестве аргументов командной строки и печатающая результат (поскольку в виде двоичной ссылки она возвращает список строк и символов новой строки, что может быть неприемлемо).
Попробуйте онлайн!
Как?
Наивные (не оскорбительные) пять байтов это:
Злоупотребление, используемое г-ном Xcoder (Python
operator.mul
может воздействовать на astr
и an,int
чтобы повторитьstr
- здесь отдельные символы - и атом, который его использует×
, vectorises wrt со своим левым аргументом), может также использоваться здесь для заменыx€
на×
- с получением полной программы :источник
Желе , 5 байт
Это именно то, что нас просят сделать ... Злоупотреблять неопределенным поведением! *
Попробуйте онлайн!
* По неопределенному поведению я говорю об использовании
×
для повторения строк. Иногда оно короче обычного поведения, так почему бы и нет?источник
Haskell , 26 байт
Функция
(!)
возвращает список строк.Попробуйте онлайн!
источник
Баш + ГНУ Сед, 58
Используя очень похожую технику к этому ответу, чтобы проиллюстрировать, насколько близок к этому дурак этот вопрос:
Попробуйте онлайн .
источник
Шелуха ,
54 байта-1 байт благодаря @Zgarb
Попробуйте онлайн!
источник
ṠMRṘ
работает, если вы поменяете местами входы.PowerShell , 31 байт
Попробуйте онлайн!
Объяснение:
источник
05AB1E ,
75 байтов-2 байта благодаря Скоттинету
Попробуйте онлайн!
источник
=
) и заменяяvy
наε
: Попробуйте онлайн!Python 3 , 42 байта
Попробуйте онлайн!
источник
MATL , 5 байтов
Попробуйте онлайн!
объяснение
источник
C ++,
125123 байта-2 байта благодаря aschepler
Убедитесь, что перегрузка
+=
вызываемого оператора принимаетchar
тип данных в этой инструкцииif(!(i++%b))r+=10
источник
using s=std::string;
короче чемtypedef std::string s;
на два байта.Japt , 7 байт
Выводит массив строк.
Попробуйте (
-R
пометьте только для визуализации)объяснение
Неявный ввод строки
U
и целого числаV
.Сформировать массив целых чисел от
0
доV-1
и разъехаться с помощью функции.Карта (
m
) заканчиваетсяU
и повторяется (r
) каждый символV
раз.Транспонировать и неявно выводить результирующий массив.
источник
R , 59 байт
Пишет в стандартный вывод.
Разбивает строку на символы, повторяет каждый
n^2
раз, а затем печатает с ширинойn
и без разделителя.Попробуйте онлайн!
источник
J
15 15байтНеоптимальный наверняка. Возвращает двумерный массив символов. Принимает
n
в качестве левого аргумента, а строку в качестве правого.На мобильном телефоне, поэтому обычные удобства отсутствуют.
объяснение
(Для старого ответа)
$"1 0
изменить каждый символ(2#[)
n
*n
матрица.,/
соединить матрицы вместе, чтобы получить выход.источник
Perl 5 , 26 + 1 (-p) = 27 байт
Попробуйте онлайн!
источник
Pyth, 9 байт
Попробуй это здесь!
Pyth,
1110 байтПопробуй это здесь!
Или 10 байтов:
Или 11 байтов:
источник
Древесный уголь , 9 байт
Попробуйте онлайн!
объяснение
источник
Brainfuck, 103 байта
Попробуйте онлайн (убедитесь, что динамическая память включена, иначе она не запустится)
Примечание: вход немного отличается. Этот код принимает строку, где последний символ является цифрой для числа повторений. Таким образом, вход может выглядеть следующим образом
Test5
.Этот код требует неограниченной ленты и полагается на поведение обтекания байтов.
Ungolfed:
источник
SOGLOnline commit 2940dbe , 4 байта
Это было сделано для конкретного коммита, а именно того, с которого я менялся
∙
, когда он использовался для массива строк, повторяя каждую букву х раз, чтобы повторять каждый элемент х раз. Вот онлайн-переводчик без этой версии, который, как видно, не работает.Чтобы сделать коммит, скачайте его , откройте
index.html
файл, в программе вставьте∙ι*I
и во входе напишите что-то вродеОбъяснение:
источник
Java 8,
152128118100 байтПопробуйте онлайн!
источник
s->n->{for(char c:s)for(int j=0;j++<n;System.out.println("".valueOf(new char[n]).replace('\0',c)));}
APL (Дьялог) , 8 байт
Принимает повторение в качестве левого аргумента и текст в качестве правого аргумента.
Попробуйте онлайн!
{
...}
безымянная лямбда, где⍺
представляет левый аргумент и⍵
правый аргумент⍪⍵
превратить текст в таблицу из одного столбца⍺/
повторять⍺
время по горизонтали⍺⌿
копировать⍺
время по вертикалиисточник
Japt , 7 байт
Возвращает массив строк.
Попробуйте онлайн! с
-R
флагом, чтобы присоединить массив с символами новой строки.объяснение
источник
D, 86 байт
Попробуйте онлайн!
Принимает строку в качестве левого аргумента и целое число в качестве правого аргумента. Это порт ответа С ++ HatsuPointerKun на D.
источник
C (gcc) ,
8379 байтовПопробуйте онлайн!
источник
CJam, 11 байт
Функция, которая принимает строку, за которой следует int.
Попробуйте онлайн
источник
Котлин 1,1 - 99 байт
Возвращает весь вывод в виде строки.
Не могу использовать TryItOnline, так как 1.1 не поддерживается
Тестовое задание
Было бы 84, если бы список строк был приемлем в качестве вывода:
источник
PHP, 97 байт
источник
Mathematica, 49 байтов
вход
источник
Pyth , 12 байт
Маленькие, но я еще не дошел.
Объяснение:
Тестирование
источник
Clojure ,
8275 байтПопробуйте онлайн!
несжатый:
Редактировать: побрил несколько символов с конца, заменив цикл for функцией повтора stdlib.
источник
C # (.NET Core) , 68 + 18 байт
Также включено в число байтов:
Попробуйте онлайн!
Выходные данные - это коллекция наборов символов (по одному на каждую строку).
Объяснение:
источник