Problem
podany wkład a,b,c
gdzie a,b,c
dodatnie są nawet liczby całkowite
i a > b > c
Zrób pudełko dowolnej dozwolonej postaci o wymiarach a x a
Wyśrodkuj pole innego dozwolonego znaku z wymiarami b x b
w poprzednim
Wyśrodkuj pole innej dozwolonej postaci o wymiarach c x c
w poprzednim
Dozwolone znaki to znaki ASCII [a-zA-z0-9!@#$%^&*()+,./<>?:";=_-+]
Wkład a=6, b=4, c=2
######
#****#
#*@@*#
#*@@*#
#****#
######
Wkład a=8, b=6, c=2
########
#******#
#******#
#**@@**#
#**@@**#
#******#
#******#
########
Wkład a=12, b=6, c=2
############
############
############
###******###
###******###
###**@@**###
###**@@**###
###******###
###******###
############
############
############
Zasady
- Najkrótszy kod wygrywa
- Pamiętaj, że możesz wybrać, który znak ma zostać wydrukowany w podanym zakresie
- Końcowe znaki nowej linii są akceptowane
- Akceptowane końcowe znaki odstępu
- funkcje mogą zwracać ciąg znaków z nowymi liniami, tablicę ciągów lub drukować go
Odpowiedzi:
Węgiel drzewny , 14 bajtów
Wypróbuj online! Link jest do pełnej wersji kodu.
źródło
Galaretka ,
2019 bajtów-1 bajt za pomocą szybkiego,
`
aby ominąć link, jak sugeruje Erik the Outgolfer.Pełny program pobierający listę
[a,b,c]
drukującą skrzynki przy użyciua:2 b:1 c:0
... w rzeczywistości, tak jak jest, będzie działał dla maksymalnie 10 skrzynek, gdzie znajduje się najbardziej wewnętrzna skrzynka
0
( na przykład ).Wypróbuj online!
W jaki sposób?
źródło
Python 2,
107103 bajtówPełny program, drukuje pudełka z
a=2
,b=1
,c=0
Nieco gorsza odpowiedź ze zrozumieniem listy (104 bajty):
źródło
C #,
274232 bajtyStraszne nawet dla C #, więc zdecydowanie można grać w golfa, ale mój umysł stał się pusty.
Wersja pełna / sformatowana:
źródło
j + m <= n + c
n + c > j + m
i + m >= n
nan < i + m
i+m
4 razy, więc możesz dodać ją do zmiennej w swoim,for
aby zaoszczędzići
w izolacji, po prostu inicjuji=m
i porównuji<b+m
; lub ... po prostu użyji
, init,i=0
ale zapętli<a
, a następnie dodajr[i]=new string('#',a),
obokj=0
i dodaj warunek, aby sprawdzić, czy pętlai
mieści się w granicachj
pętli (to powinno się spłacić, ponieważ stracisz całe Linq).Haskell , 126 bajtów
Wypróbuj online!
źródło
JavaScript (ES6),
174170147 bajtówSpróbuj
Wyjaśnienie
źródło
C (gcc) , 97 bajtów
Wypróbuj online!
źródło
V ,
70, 44, 42 bajtówWypróbuj online!
To jest ohydne. Eww.Dużo lepiej. Nadal nie najkrótszy, ale przynajmniej nieco golfowy.Zaoszczędzono dwa bajty dzięki @ nmjmcman101!
Hexdump:
źródło
MATL ,
2623222018 bajtówDane wejściowe to wektor kolumny
[a; b; c]
. Wyjściowych użyje znaków2
,1
,0
.Wypróbuj online!
Nawiasem mówiąc, działa dla maksymalnie dziesięciu pudełek, nie tylko trzech. Oto przykład z pięcioma pudełkami .
źródło
Mathematica, 49 bajtów
Pobiera dane wejściowe
[c, b, a]
. Dane wyjściowe toa=1, b=2, c=3
.W jaki sposób?
źródło
Grid
Nie robiString
ani nie robiPrint
.PHP> = 7,1, 180 bajtów
W tym przypadku nienawidzę, że zmienne zaczynają się od
$
w PHPPHP Sandbox Online
źródło
$argv
jako tablicy? Próbowałeś tego? Czy próbowałeś osobnych trójskładników?Mathematica, 173 bajty
wkład
źródło
Python 2 , 87 bajtów
Wypróbuj online!
Arytmetycznie oblicza liczby do wydrukowania przez dodanie liczb formularza
111100
. Jest dużo brzydoty, prawdopodobnie miejsce na poprawę.źródło
Java 8,
265252 bajtów-13 bajtów poprzez zastąpienie znaków cyframi.
Można zdecydowanie zagrać w golfa, stosując inne podejście.
Wyjaśnienie:
Wypróbuj tutaj.
źródło
JavaScript (ES6), 112
Anonimowa funkcja zwracająca ciąg wielu linii. Znaki 0,1,2
Mniej golfa
źródło
PHP> = 5,6, 121 bajtów
Uruchom go
-nr
lub przetestuj online .Połączone pętle ponownie ... Kocham je!
awaria
źródło