Dosłownie! 6 kwietnia to Narodowy Dzień Teflonu , który jest obchodzony patelniami pokrytymi teflonem (co będziemy robić). Tak więc, biorąc pod uwagę dodatnią liczbę całkowitą n
, utwórz patelnię teflonową. Sekcja „patelni” patelni jest ośmiokątem, a każdy z jej boków składa się z n
postaci, które będą się różnić w zależności od strony, z wyjątkiem stron używających znaku {
lub }
. Te strony będą miały zawsze długość jednego. Jeśli n
wynosi 1:
_
/ \
{ }
\_/
Jak widać, każda strona składa się z jednego znaku (albo {
, }
, /
, \
, lub _
). Jeśli n
jest 2:
__
/ \
/ \
{ }
\ /
\__/
Uchwyt zostanie utworzony z n+3
=
's i zakończy się na zero ( 0
).
Jeśli n
jest jeden:
_
/ \
{ }====0
\_/
n
jest 2:
__
/ \
/ \
{ }=====0
\ /
\__/
n
wynosi 3:
___
/ \
/ \
/ \
{ }======0
\ /
\ /
\___/
Jeśli n
wynosi 4:
____
/ \
/ \
/ \
/ \
{ }=======0
\ /
\ /
\ /
\____/
Reguły i kryteria
Niedozwolone są luki
Uchwyt wychodzi z prawej strony (strona wykonana z
}
postaci)Dane wejściowe to dodatnia liczba całkowita
Jeśli strona nie składa się albo
{
albo}
(nie lewa lub prawa strona), będą składać się zn
odpowiednich znaków:_ / \ Left side { } Right side \_/
- Ponieważ jest to kod-golf , wygrywa najkrótszy kod!
O
zamiast0
gałki?Odpowiedzi:
Węgiel drzewny ,
4138363028 bajtówDzięki @Emigna za pomoc w zapisaniu dwóch bajtów, dzięki @ ASCII-tylko za zapisanie sześciu bajtów i dzięki @Neil za zapisanie kolejnych dwóch bajtów!
Wypróbuj online!
Wyjaśnienie:
źródło
Nη↖ηG←η_↙↙η{↓↘ηM↑×η_↗η}×⁺³η=P0
Nη↙η↑←×_η↖η↗{↗η×_η↓↘η}×=⁺³η0
(1 bajt zapisany przez wydrukowanie dolnej połowy szalki jako pierwszyM
niepotrzebny i 1 bajt zapisany przez odwrócenie parametrów tak, aby stał×
sięP
niepotrzebny.)JavaScript (ES6), 171 bajtów
Całe
ciasto do pizzyjest bardzo powtarzalne, więc funkcja r (zaprojektowana jako literał szablonu z tagiem) powtarza pierwszy znak swojego wejścia n razy. To obsługuje górną i środkową i linie patelni. Resztę powtarza się, zastępując ciąg pustych miejsc; się$`
i$'
subsitutions automatycznie odpowiada zwiększania i zmniejszania ilości półfabrykatów w ten sposób odkładania/
i\
odpowiednio. Na koniec litery_
s są wypełniane w ostatnim wierszu, ponieważ pod tym względem nieznacznie różni się od drugiego wiersza.źródło
JavaScript + HTML,
575 bajtów (tylko 451 bajtów JS)376 bajtów (tylko 482 bajtów JS)Nie jest to skomplikowane podejście: kilka konkatenacji strun z wykorzystaniem warunków dla pięciu różnych części patelni: najwyższych, najniższych i środkowych linii oraz górnej i dolnej połowy.
Skróciłem tak bardzo, jak tylko mogłem, ale był to limit tej metody.
EDYCJA: nie było - dodatkowo grał w golfa przez @ programmer5000
źródło
PHP, 174 bajty
Pobiera dane wejściowe z STDIN; uruchom go
-nR
lub przetestuj online .awaria
źródło
Python 3, 196 bajtów
Użyłem kilku zmiennych, aby skrócić kod, ale w większości jest to proste. Oto dłuższa, bardziej czytelna wersja:
Edycja: zmieniono na odczyt n ze standardowego, 181 → 196 bajtów
źródło
Python 2 ,
180178 bajtówWypróbuj online!
źródło
Python 2.7,
194195191187185 bajtówWypróbuj online!
Otwórz, aby edytować sugestie, aby zmniejszyć. :)
Edytuj bajt 1: +1 - Kredyty dla ElPedro za wskazanie błędu w kodzie, który spowodował, że był on o 1 bajt dłuższy.
Edycja 2: -4 bajtów - Kredyty dla piyush-ravi za usunięcie niepotrzebnych argumentów.
Edytuj 3: -4 bajty - Jak tego nie widziałem? : P
Edytuj 4: -2 bajty - Zamieniając „\ n” na „;”
źródło
PowerShell , 165 bajtów
Wypróbuj online!
Pobiera dane wejściowe
$n
, ustawia$a
na kilka spacji,$b
na kilka znaków podkreślenia i ciąg łączy to spacje. Zostało to w przygotowaniu.Pętle od
$n
do do1
. Jeśli$n=1
nastąpi to tylko raz. Każdej iteracji wykonujemy ciąg łączący spacje, a/
, więcej spacji z licznikiem$i
i a\
. Wszystkie pozostały w przygotowaniu.Potem przychodzi środkowa część z uchwytem, który przypadkowo ma
$a*3
spacje w środku i$n+3
=
znaki, a następnie a0
. Zostało to w przygotowaniu.Jeśli
$n
jest większy niż1
, to$n-1
jest prawdą, więc wchodzimy w tryb warunkowy, w którym zapętlamy drugi kierunek, aby utworzyć dno naczynia. Jeśli$n=1
, to nie potrzebujemy tej części ze względu na działanie linii. Wszystkie pozostały w przygotowaniu. Kończymy spacjami i podkreślamy za pomocą$a\$b/
dnem patelni.Wszystkie te ciągi z potoku są wysyłane przez domniemane,
Write-Output
że drukuje je z nowymi liniami między elementami.źródło
JavaScript + HTML - 346 bajtów
JavaScript - 314 bajtów, HTML - 32 bajty
Nie grał w golfa
źródło
C, 249 bajtów
Wypróbuj online
źródło