To dobre wyzwanie dla początkujących i zabójca czasu.
Powiedziałem tylko „naturalny” log, ponieważ tytuł był zbyt krótki, nie ma to nic wspólnego z logarytmami.
Biorąc pod uwagę 2 zmienne:
- Liczba mrówek
n
. - Szerokość kłody
w
.
Wyjście log szerokości w
z n
mrówki (przykład pokazano w=3
, n=6
)
| |
| \O/ \O/ \O/ |
| -O- -O- -O- |
| /o\ /o\ /o\ |
| ^ ^ ^ |
| |
| \O/ \O/ \O/ |
| -O- -O- -O- |
| /o\ /o\ /o\ |
| ^ ^ ^ |
| |
Pojedyncza mrówka wygląda następująco:
\O/ # Upper-case O
-O- # Upper-case O
/o\ # Lower-case o
^
Kilka praw mrówek:
- Mrówki nie mogą dotykać się bezpośrednio ani krawędzi kłody, wolą dotykać spacji.
- Każdy rząd mrówek musi być
w
szeroki, zn/w
rzędami mrówek. - Mrówki zawsze potrzebują kłody, gwarantowana szerokość kłody jest większa od 0.
- Mrówki też ... no cóż, potrzebują mrówek, liczba mrówek jest większa niż 0, gwarantowane.
- Mrówki są również zaskakująco dobrze zorganizowane, wypełnią kłodę od lewej do prawej, od góry do dołu; jakby czytali książkę.
Mrówki
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\ |
| ^ |
| |
To jest golf golfowy , osoba z najmniejszą liczbą bajtów wygrywa.
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
Urna Magicznej Ośmiornicy
źródło
źródło
w>n
powinna być dodatkowa przestrzeń przed prawą ręką,|
czy nie, czy zależy to od nas?Ant-xamples
(nienawidzę kalamburów)Odpowiedzi:
Galaretka ,
4443 bajtówPrzekreślone 44 nie jest 44 przy użyciu
Wypróbuj online!
W jaki sposób?
Zapytałem o to
w<n
w komentarzu, ponieważ jest nieco niejednoznaczny.Jeśli dziennik musi mieć
w
szerokość mrówek, a nie tylkow
szerokość mrówek , kosztuje dwa bajty:Robi to tak samo jak poprzednio, z wyjątkiem tego, że zamiast przygotowywać pojedynczą spację w celu utworzenia pierwszej pustej linii, tworzy cały dodatkowy rząd mrówek i odcina wszystko oprócz jego końcowej pustej linii.
źródło
V ,
70, 68 bajtówWypróbuj online!
Nigdy wcześniej mi się to nie zdarzyło, ale znany błąd w rzeczywistości oszczędził mi bajty!
Trudno jest dokładnie wyjaśnić, co się dzieje, ale niestety, kiedy spróbujesz powielić coś według kolumn, V przesunie jedną kolumnę przed powieleniem. Dlatego pierwotnie to zrobiłem:
który nie korzysta ze zduplikowanego operatora. Ponieważ jednak musieliśmy już przesunąć jedną linię, możemy po prostu to zrobić
źródło
PHP> = 7,1, 150 bajtów
Wersja online
źródło
Python 2, 144 bajty
Wypróbuj online!
źródło
w=1
in=3
swoją wersję).05AB1E , 47 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
SOGL ,
747174 bajtyPierwsza część: funkcja, która generuje pustą część dziennika
Druga część ma skompresowany ciąg znaków
"nΤ↕¬┐α┐PΝld‘
, który jest mrówką. Dekompresuje się do\-/ OOo^/-\
. To mrówka (z odstępami po prawej), ale od góry do dołu, a potem w prawoJest tak przechowywany, ponieważ
┼
funkcja dołącza takie ciągi (to dlatego, że możesz pomnożyć ciąg, aby dodać do niego wiele wystąpień). Sama część: funkcja, która prosi o liczbę na stosie oznaczającą liczbę mrówek do narysowania.I główna funkcja:
źródło
Perl 5 , 159 bajtów
Wypróbuj online!
Perl 5 , 152 bajty
Kolejny oparty na rozwiązaniu Python:
Wypróbuj online!
źródło
Mathematica 210 bajtów
Myślę, że muszę stworzyć język golfa oparty na matematyce.
źródło
Python 2, 166 bajtów
źródło
Węgiel drzewny , 43 bajty
Wypróbuj online! Link jest do pełnej wersji kodu. Wyjaśnienie:
Wejście
w
.Wprowadź
n
, a następnie utwórz ciągn
spacji i podziel go na rzędy długościw
(z wyjątkiem ostatniego elementu, który może być mniejszy). Pętla nad tymi rzędami.Wydrukuj boki sekcji dziennika.
źródło