Wyzwanie:
Podano liczbę całkowitą n
jako dane wejściowe. Utwórz diament, który jest 2x podaną liczbą n
.
Wejście:
Dane wejściowe są liczbami całkowitymi n
i 2 <n ≤ 3000.
Wyjście:
Wyjście będzie sznurkiem i będzie miało postać diamentu składającego się +
z linii dodawania na początku pokazującej n
użycie+
Przykłady:
D (3): +++ + +++ +++++ +++++ +++ + D (5): +++++ + +++ +++++ +++++++ +++++++++ +++++++++ +++++++ +++++ +++ + D (6): ++++++ + +++ +++++ +++++++ +++++++++ +++++++++++ +++++++++++ +++++++++ +++++++ +++++ +++ +
Zwycięskie kryteria:
To jest golf golfowy, więc wygrywa najkrótszy kod w bajtach dla każdego języka programowania.
n
jednomyślnie?+
jako znak tally ?n
jest parzysty?Odpowiedzi:
pieprzenie mózgu ,
151139 bajtówWypróbuj online!
Pobiera dane wejściowe za pomocą unary, ze
+
s jako znaczniki tally ( dozwolone przez plakat ). Postanowiłem to przerobić, ponieważ myślałem, że stary był nieco dłuższy niż mógłby (choć ten też jest!).Stara wersja (151 bajtów):
Wypróbuj online!
Pobiera dane wejściowe jako komórkę początkową. Nie mogłem wymyślić sposobu na wykorzystanie pierwszej połowy, aby pomóc w drugiej, więc dla każdej z nich jest pętla.
Jak to działa:
I dla zabawy:
Wypróbuj online!
źródło
Płótno , 9 bajtów
Wypróbuj tutaj!
Objaśnienie (niektóre postacie zostały zastąpione, aby wyglądały w przestrzeni kosmicznej):
źródło
Python 3 ,
959475 bajtówWypróbuj online!
Moja pierwsza próba gry w golfa, wszelkie sugestie dotyczące ulepszeń są mile widziane.
EDYCJA: zapisano 1 bajt dzięki Kevinowi Cruijssenowi
EDYCJA: usunięto nieporozumienie dotyczące liczby bajtów
EDYCJA: Zaoszczędź o wiele więcej bajtów dzięki Jo King i user202729
źródło
print'\n'.join(['+'*n]+a+a[::-1])
możesz go użyć bez nawiasów, aby zaoszczędzić 2 bajty. +1 ode mnie. Dobra pierwsza odpowiedź. :)lambda
)).2*i+1 == i+i+1 == i-(-i-1) == i-~i
.05AB1E , 14 bajtów
Wypróbuj online!
Wyjaśnienie
Również 14 bajtów:
L‚˜'+×ćs.∞∊.c»
źródło
'+×s·ÅÉ'+×∊.C»
używanieÅÉ
jest inneÅÉ
ale odrzuciłem ją, ponieważ nie myślałem o użyciu,·
aby działała.Python 3 ,
7978 bajtówWypróbuj online!
Dzięki tym Poradom do gry w golfa odpowiedz na Python za poinformowanie mnie o
.center
funkcji. Zwraca listę ciągów.źródło
R ,
135 11096 bajtówWypróbuj online!
@JayCe z ostatecznym cięciem.
rep
Funkcja jest przypisana do istniejącego infiksowych operatora, jak<
i^
dlatego, żerep("+", n)
jest równoważne"<"("+", n)
, które mogą być zapisywane z użyciem<
jako operator Infix jak w"+" < n
i skraca się do"+"<n
.źródło
"+"
bezpośrednio zamiast zapisywania, ponieważz
oszczędza niektóre bajty! Spróbuj tutaj<
dlarep
uzyskać pod 100 znaków! TutajWęgiel drzewny , 15 bajtów
Wypróbuj online! Link jest do pełnej wersji kodu. Wyjaśnienie:
Wydrukuj odwrócony trójkąt o
+
wysokości wejściowej i prawie dwa razy większej.Przesuń kursor w dół, aby po odbiciu wylądował na dodatkowej linii.
Zrób lustrzane odbicie trójkąta.
Narysuj dodatkową linię, używając bieżącej kolumny, aby uniknąć konieczności ponownego odczytu danych wejściowych.
Odbij dane wyjściowe, tak aby dodatkowa linia była skierowana w lewo.
źródło
Stax , 11 bajtów
Uruchom i debuguj
źródło
Python 3 ,
7675 bajtówWypróbuj online!
źródło
QB64,
8279 bajtówźródło
JavaScript (Node.js) ,
106105 bajtówWypróbuj online!
________________________________________________
Drugie podejście
JavaScript (Node.js) ,
1051009998 bajtówWypróbuj online!
źródło
Japt
-R
,1817 bajtówWypróbuj online!
źródło
PowerShell , 55 bajtów
Wypróbuj online!
źródło
+
zamiastx
. Możesz także uczynić swoją odpowiedź nieco bardziej przyjazną dla społeczności, używając Wypróbuj online! i dodając link do swojej odpowiedziJ , 29 bajtów
Wypróbuj online!
Wyjaśnienie:
źródło
Haskell ,
8582 bajtówZapisany 3 bajty dzięki Nimi !
Wypróbuj online!
źródło
x
która oszczędza 4 bajty: Wypróbuj online!Rubin ,
7161 bajtówWypróbuj online!
źródło
PHP, 103 bajty
Uruchom jako potok z `-nR 'lub wypróbuj online .
źródło
PowerShell , 58 bajtów
Wypróbuj online!
Po prostu pętla w górę i w dół, każda iterująca generuje odpowiednią liczbę spacji, a następnie odpowiednią liczbę znaków plus. Ho-hum.
źródło
F # (mono) , 123 bajty
Wypróbuj online!
źródło
/home/runner/code.fs(2,10): error FS0039: The value or constructor 'String' is not defined. Cannot open assembly 'code.exe': No such file or directory.
PHP 102 bajty
Wiem, że może być o wiele mniejszy;) Greetz mangas
źródło
sed 4.2.2 , 69
Wynik obejmuje +1 za
-r
opcję sed.Wypróbuj online!
źródło
Ruby , 59 bajtów
Wypróbuj online!
źródło
Python 3 , 98 bajtów
Wypróbuj online!
Wersja do odczytu:
źródło
Yabasic , 102 bajty
Anonimowa funkcja, która pobiera dane wejściowe jako liczbę jednoznaczną ze
+
znakami sumy i dane wyjściowe do konsoli.Wypróbuj online!
Wersja alternatywna, 117 bajtów
Anonimowa odpowiedź funkcji, która pobiera dane w postaci liczb całkowitych dziesiętnych i wysyła je do konsoli.
Wypróbuj online!
źródło
sub
procedura zdefiniowana przez użytkownika , nie są częścią żadnej biblioteki, a zatem nie mogą być wywoływane w sposób dyskretny, jak mogą to być funkcje wbudowane (np.Abs(x)
). Możesz przeczytać więcej o tym tutaj, jeśli chcesz.JavaScript (Node.js) , 183 bajtów
Wypróbuj online!
Zaktualizowałem moją odpowiedź dzięki @JoKing
źródło
APL (Dyalog Unicode) , 25 bajtów SBCS
Wypróbuj online!
Wyjaśnienie:
źródło
1↓[2]
->0 1↓
lub nawet lepiej:c,⍨⌽1↓[2]c←
->⍉(⊖⍪1↓⊢)⍉
Java 8, 159 bajtów
Zdecydowanie można jeszcze zagrać w golfa, ale to dopiero początek.
Wyjaśnienie:
Wypróbuj online.
źródło
Japt
-R
,1816 bajtówSpróbuj
Wyjaśnienie
źródło
Attache , 62 bajty
Wypróbuj online!
Lambda, która przyjmuje liczbę całkowitą jako argument.
Przykład
źródło
T-SQL, 152 bajty
Zgodnie z naszymi regułami We / Wy , dane wejściowe są pobierane przez wcześniej istniejącą tabelę tz polem całkowitym n .
Pętla zliczania ręcznego, niezbyt „podobna do SQL”. Sformatowany:
źródło