Podczas ruchu zepsułem lampę. Teraz potrzebuję nowego. Twoim zadaniem jest uczynić ze mnie lampę! Nie jestem pewien, jakiego rozmiaru chcę, ale wiem, że chcę taki zawijasowy.
Twój program / funkcja musi wprowadzić liczbę i wydrukować lampę z tyloma wstrząsami / nierównościami.
Przykłady:
Wejście:2
Wynik:
/ - \ () () / __ \
Wejście:3
Wynik:
/ - \ () () () / __ \
Wejście:5
Wynik:
/ - \ () () () () () / __ \
Zasady:
- 0 i liczby ujemne nie mają znaczenia
- Aby lampy (wyzwanie) były bardziej różnorodne, musisz zmienić klosz lampy.
- Muszą mieć 4 znaki szerokości i 1 znak wysokości.
- Mogą mieć dowolny kształt, w tym kształty inne niż abażur.
- Nie mogą zawierać białych znaków.
- Baza musi pozostać taka sama.
- Musisz pokazać przykładowe wejście i wyjście z kloszem lampy.
- Najkrótszy kod wygrywa!
ABBB..BBBC
. Wymóg zmiany sekcji oznacza po prostu, że ludzie będą używać krótkiego wbudowanego ciągu.Odpowiedzi:
Pyth - 16 bajtów
Używa cudzysłowu dla odcienia, ponieważ N jest do tego wstępnie zainicjowany.
Wypróbuj online tutaj .
Próbka dla 5:
źródło
Snowman 0.2.0 , 42 znaki
Przykładowy przebieg:
Zauważyłem więc tylko, że kiedy rozwiązałem to wyzwanie, zapomniałem zaimplementować zdolność ucieczki przed odwrotnymi ukośnikami w łańcuchach. Z pewnością tak będzie w następnej wersji, ale na razie oto, co zrobiłem, aby wydrukować ostatnią linię:
92
jest kodem ASCII dla odwrotnego ukośnika,wR
zawija go w tablicę, a teraz mogę go wydrukować,sP
ponieważ „ciągi znaków” w Snowman to tak naprawdę tablice liczb.źródło
> <> ,
434138 bajtówWprowadzanie za pomocą punktu kodowego, np. Spacja to 32. W ten sposób abażur wykorzystuje część własnego kodu programu, co daje efekt przypominający antenę satelitarną:
(Sugestia dzięki @randomra)
W przypadku trzech kolejnych bajtów możemy zmienić trzeci wiersz, aby dodać nieco więcej dostosowania:
Daje to jedną z tych lamp, które strzelają światłem w górę, z powodu braku lepszego sposobu na umieszczenie go:
źródło
R,
545246 bajtówW tej wersji wejście i wyjście są prawie pomieszane:
{wejście / wyjście} PUT:
EDYCJA 1 : -2 bajty dzięki komentarzowi @manatwork.
EDYCJA 2 : -6 bajtów. Pełny kredyt trafia ponownie do @manatwork
źródło
" /_\\"
powinien być"/__\\"
. BTW, czy to\r
konieczne?\r
zaoszczędzenia mi dwóch bajtów! Powinienem ponownie przeczytać mój kod! Dzięki !cat("RRRR",rep(" ()",scan()),"/__\\",sep="\n")
wydaje się , że działa.Słoma , 26 bajtów (niekonkurencyjna)
Użyj
'--'
jako abażur,przyjmuj dane jednoznacznieteraz w systemie dziesiętnymźródło
CJam, 18 bajtów
Przykładowy przebieg dla wejścia 5:
Wypróbuj online tutaj
źródło
JavaScript ES6, 34 bajty
Nowe linie są znaczące
Przykład z wprowadzeniem 5:
źródło
sed, 28 bajtów
Pobiera dane wejściowe unarne. Odcień jest oczywistym wyborem (taki sam jak baza).
Testowe uruchomienie
źródło
Gema: 30 znaków
Przykładowy przebieg:
źródło
jq: 30 znaków
(Kod 29 znaków + opcja wiersza poleceń 1 znak.)
Przykładowy przebieg:
Test on-line (Przekazanie
-r
adresu URL nie jest obsługiwane - sprawdź sam wynik wyjściowy).źródło
C, 54 bajty
Zadzwoń
f()
z żądaną wysokością lampy.Wypróbuj na ideone.
Przykładowe dane wyjściowe dla 5:
źródło
Pyke, 15 bajtów
Wypróbuj tutaj!
Wyjścia:
źródło
Kotlin , 36 bajtów
Wypróbuj online!
źródło
Biała spacja , 169 bajtów
Dodane litery
S
(spacja),T
(tab) iN
(nowa linia) tylko jako wyróżnienia.[..._some_action]
dodano tylko jako wyjaśnienie.Wypróbuj online (tylko z surowymi spacjami, tabulatorami i nowymi wierszami).
Objaśnienie w pseudo-kodzie:
Wypycha wszystkie znaki w odwrotnej kolejności na stos, a następnie drukuje je w pętli.
UWAGA:
i
w powyższym pseudokodzie jest przechowywany z powrotem na stosie przy każdej iteracjiLOOP
, ponieważ nie chcemy pozostawiać go na stosie, aby został wydrukowany na końcu.źródło
Płótno , 8 bajtów
Wypróbuj tutaj!
Wyjaśnienie:
źródło
05AB1E ,
17151311 bajtów-2 bajty (17 → 15) dzięki @EriktheOutgolfer .
-2 bajty (13 → 11) po inspiracji odpowiedzią Canvas @dzaima .
Cap jest taki sam jak base (
/__\
).Wyjaśnienie:
Stara 13 bajtów odpowiedź:
Wypróbuj online.
źródło
Excel, 31 bajtów
Anonimowa funkcja arkusza roboczego, która pobiera dane liczbowe z zakresu
[A1]
i danych wyjściowych do komórki wywołującej.Ta lampa jest muzyczna - pomoże ożywić i rozjaśnić Twój dzień.
Wynik
źródło
PowerShell 5.1,
2826 bajtówDzięki Mazzy za 2 bajty
Ponieważ cień może mieć dowolne 4 znaki, użycie liczby pozwala zaoszczędzić parę cudzysłowów. Najtrudniejsze było znalezienie ładnie wyglądającego cienia.
Wynik:
źródło
8008;," ()"*"$args";"/__\"
Python 2, 36 bajtów
Dla wejścia 4:
Zauważ, że dla Pythona, że dowolny abażur za pomocą rur jest mniej bajtowy.
-1 bajtów dzięki @Alex!
źródło
print"-"*4+"\n ()"*input()+"\n/__\\"
Japt , 17 bajtów
Wypróbuj online!
Dane wyjściowe dla
5
:źródło
¥
.SWI-Prolog,
7360 bajtówa(5).
wyjściaźródło
Julia, 36 bajtów
Tworzy to nienazwaną funkcję, która przyjmuje liczbę całkowitą jako dane wejściowe i wypisuje na standardowe wyjście.
Przykład:
źródło
Bash + coreutils, 37 bajtów
Nowe wiersze są konieczne i są liczone w bajtach ogółem. GNU sed jest wymagany.
Biegać:
Wynik:
źródło
Rubin, 42 bajty
źródło
Neoscript , 28 bajtów
źródło
Java
711,848337 bajtówWypróbuj online. (UWAGA: Java 11 nie jest jeszcze obsługiwana w TIO, więc
String.repeat(int)
została emulowana zrepeat(String,int)
tą samą liczbą bajtów.)Używa
i!!i
jako cap.¡!!¡
wygląda lepiej , ale ma jeszcze dwa bajty.Wyjaśnienie:
źródło
Perl 5 , 24 bajtów
Wypróbuj online!
Wykorzystuje się
1000
jako czapkę.źródło
Dalej , 38 bajtów
Wypróbuj online!
Próbki
źródło
Befunge-93 , 50 bajtów
Wypróbuj online!
Przykład z wejściem 3
źródło
PHP, 38 bajtów
Zapisz do pliku; uruchom jako potok z
-nF
lub spróbuj online .źródło