Учитывая амплитуду и период для волны, выведите волну. Смотрите пример выходных данных для более подробной информации. Общее количество волновых форм равно периоду, а высота каждой волны равна амплитуде. Амплитуда и период меньше 10. Вы можете игнорировать конечные пробелы, но не начальные пробелы.
Sample Input
3 2
Sample Output
3 3
232 232
12321 12321 12321 12321
232 232
3 3
ascii-art
тег. Но художественная часть не совсем присутствует, может быть, должен быть еще один тег для графики ascii?Ответы:
Dyalog APL,
4340 байт{⍉⊃⍪/⍺⍴⊂(⌽⍪⊢)(n,1-n←2×⍵)↑↑b⍴¨⍕¨b←a,1↓⌽a←⍳⍵}
{⍉⊃⍪/⍺⍴⊂(⌽⍪⊢)n(1-n←2×⍵)↑↑⍴∘⍕¨⍨a,1↓⌽a←⍳⍵}
( Спасибо, Морис Зукка )Это диадическая функция с амплитудой в качестве правого аргумента (
⍵
) и точкой в качестве левого аргумента (⍺
). Программа, которая читает пользовательский ввод, будет иметь такое же количество символов.Черпая вдохновение из ответа CJam Мартина Бюттнера :
источник
(n,1-n←2×⍵)
доn(1-n←2×⍵)
.Питон - 135 символов
Эта версия с ведущим пробелом 132 символа
Он также может быть значительно короче, если не требуется читать со стандартного ввода или даже если ввод разделен запятой
Для ввода через запятую первая строка становится
источник
APL (77)
источник
J, 87 знаков
Как программа:
работает так:
Это еще 5 символов, если нам нужно это как функция F:
источник
Haskell (
226225222220214)Моя попытка в Хаскеле:
Извините, ребята,
(€)
оптимизирован, он занимает три байта за одно €, в отличие от! который занимает только один байт каждый.Вот «бета-версия», которая не удовлетворяет спецификации:
источник
CJam, 45 байтов
CJam намного моложе этой задачи, поэтому этот ответ не имеет права на зеленую галочку (которая, между прочим, должна быть обновлена до ответа APL от marinus). Это было все еще маленькое забавное упражнение.
Проверьте это здесь.
Идея состоит в том, чтобы генерировать половину периода по вертикали , вот так:
(Плюс следующая пустая строка, которую проглатывает SE). Затем это дублируется, каждая строка переворачивается, и вторая половина периода добавляется. Затем все это повторяется числом периодов, и в конечном итоге сетка перемещается так, чтобы ориентировать волну по горизонтали.
источник