Это хороший вызов для начинающих и хороший убийца времени.
Я сказал только «естественный» журнал, потому что заголовок был слишком коротким, это не имеет ничего общего с логарифмами.
Дано 2 переменные:
- Количество муравьев
n
. - Ширина бревна
w
.
Выведите лог ширины w
с n
муравьями (показан пример w=3
, n=6
)
| |
| \O/ \O/ \O/ |
| -O- -O- -O- |
| /o\ /o\ /o\ |
| ^ ^ ^ |
| |
| \O/ \O/ \O/ |
| -O- -O- -O- |
| /o\ /o\ /o\ |
| ^ ^ ^ |
| |
Один муравей выглядит так:
\O/ # Upper-case O
-O- # Upper-case O
/o\ # Lower-case o
^
Несколько муравьиных законов:
- Муравьи не могут касаться друг друга и края бревна напрямую, они предпочитают касаться пространства.
- Каждый ряд муравьев должен быть
w
широким, сn/w
рядами муравьев. - Муравьям всегда нужен журнал, ширина журнала больше 0, гарантировано.
- Муравьи тоже ... ну, нужны муравьи, количество муравьев больше 0, гарантировано.
- Муравьи также удивительно хорошо организованы, они будут заполнять бревно слева направо, сверху вниз; как будто они читали книгу.
Ant-xamples
w = 3, n = 5
| |
| \O/ \O/ \O/ |
| -O- -O- -O- |
| /o\ /o\ /o\ |
| ^ ^ ^ |
| |
| \O/ \O/ |
| -O- -O- |
| /o\ /o\ |
| ^ ^ |
| |
w = 1, n = 1
| |
| \O/ |
| -O- |
| /o\ |
| ^ |
| |
w = 1, n = 3
| |
| \O/ |
| -O- |
| /o\ |
| ^ |
| |
| \O/ |
| -O- |
| /o\ |
| ^ |
| |
| \O/ |
| -O- |
| /o\ |
| ^ |
| |
Это код-гольф , выигрывает человек с наименьшим байтом.
code-golf
ascii-art
code-golf
code-golf
kolmogorov-complexity
code-golf
string
unicode
code-golf
number
sequence
primes
palindrome
code-golf
game
decision-problem
code-golf
math
geometry
code-golf
graphical-output
interactive
code-golf
set-partitions
code-golf
number
arithmetic
restricted-source
code-golf
decision-problem
python
recursion
code-golf
ascii-art
code-golf
source-layout
code-golf
function
recursion
functional-programming
code-golf
game
combinatorics
permutations
code-golf
string
file-system
code-golf
string
hashing
code-golf
stack-exchange-api
code-golf
string
code-golf
math
number
arithmetic
polyglot
Урна волшебного осьминога
источник
источник
w>n
необходимо ли дополнительное пространство перед правой рукой|
или нет, или это до нас?Ant-xamples
(я ненавижуОтветы:
Желе ,
4443 байтаВычеркнуто 44 не 44 с использованием
Попробуйте онлайн!
Как?
Я спросил об этом
w<n
в комментарии, так как это немного неоднозначно.Если журнал должен быть
w
муравьями широкими, а не только муравьямиw
широкими, он стоит два байта:Это делает то же самое, что и раньше, за исключением того, что вместо того, чтобы ставить первую пустую строку вместо одного пробела, он создает целый дополнительный ряд муравьев и отсекает все, кроме его задней пустой строки.
источник
V ,
70, 68 байтовПопробуйте онлайн!
Это никогда не случалось со мной раньше, но известная ошибка фактически спасла мне байты!
Довольно сложно объяснить, что именно происходит, но, к сожалению, когда вы пытаетесь что-то дублировать по столбцам, V перед перемещением переместит один столбец. Вот почему изначально я сделал:
который не использует дубликат оператора. Однако, поскольку нам уже нужно было переместить одну строку, мы можем просто сделать
источник
PHP> = 7.1, 150 байт
Онлайн версия
источник
Python 2, 144 байта
Попробуйте онлайн!
источник
w=1
&n=3
с вашей версией).05AB1E , 47 байтов
Попробуйте онлайн!
объяснение
источник
СОГЛ ,
747174 байтаПервая часть: функция, которая выводит пустую часть журнала
Вторая часть имеет сжатую строку
"nΤ↕¬┐α┐PΝld‘
, которая является муравьем. Это распаковывает до\-/ OOo^/-\
. Это муравей (с интервалом справа), но взятый сверху вниз, затем вправо, какОн хранится так, потому что
┼
функция добавляет строки подобным образом (потому что тогда вы можете умножить строку, чтобы добавить к ней несколько экземпляров). Сама часть: функция, которая запрашивает число в стеке, обозначающее, сколько муравьев нарисовать.И основная функция:
источник
Perl 5 , 159 байт
Попробуйте онлайн!
Perl 5 , 152 байта
Еще один, основанный на решении Python:
Попробуйте онлайн!
источник
Mathematica 210 байт
Думая, что мне нужно сделать игру в гольф на основе Mathematica.
источник
Python 2, 166 байт
источник
Древесный уголь , 43 байта
Попробуйте онлайн! Ссылка на подробную версию кода. Объяснение:
Ввод
w
.Введите
n
, затем создайте строкуn
пробелов и разбейте ее на строки длиныw
(кроме последней части, которая может быть меньше). Цикл по этим строкам.Распечатать стороны раздела журнала.
источник