Twoim zadaniem jest wydrukowanie dokładnie tego tekstu:
z
yz
xyz
wxyz
vwxyz
uvwxyz
tuvwxyz
stuvwxyz
rstuvwxyz
qrstuvwxyz
pqrstuvwxyz
opqrstuvwxyz
nopqrstuvwxyz
mnopqrstuvwxyz
lmnopqrstuvwxyz
klmnopqrstuvwxyz
jklmnopqrstuvwxyz
ijklmnopqrstuvwxyz
hijklmnopqrstuvwxyz
ghijklmnopqrstuvwxyz
fghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
defghijklmnopqrstuvwxyz
cdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
Sprawa nie ma znaczenia.
Pamiętaj, że to jest golf golfowy , więc wygrywa kod z najmniejszą liczbą bajtów.
code-golf
kolmogorov-complexity
alphabet
Oliver Ni
źródło
źródło
Odpowiedzi:
Cheddar,
50454237 bajtówProsto, ale wykorzystuje składnię dzielącą cheddara (zarówno numeryczną, jak i alfabetyczną)
Wypróbuj online!
Wyjaśnienie
65
jest kodem char dlaA
i90
dlaA
źródło
Z
jest90
, nieA
.05AB1E ,
1513 bajtówWypróbuj online! (nieco inny od powyższego, ponieważ
ú
nie ma go jeszcze w TIO)Wyjaśnienie
źródło
Python 2, 70 bajtów
Przeniesiony z Emigna odpowiedź jest, -2 bajtów do wymiany
-i-1
z~i
źródło
R,
67 6659 bajtówEDYCJA: Zaoszczędziłem kilka bajtów dzięki @rturnbull
Wykorzystanie faktu, że dowolna liczba przekazana do
rep
funkcji jest automatycznie zaokrąglana w dół do najbliższej liczby całkowitej (np.rep("*",1.99) => "*"
), Co oznacza, że faktycznie przekazana sekwencja tofloor(13-1:26/2)
:źródło
14...-1
się13
?25:0
zamiast1:26
można zmienić13-i/2
, abyi/2
i uprościć(27-i):26
, abyi:25+1
, oszczędzając 6 bajtów.Pyth, 15 bajtów
Program, który drukuje wynik do STDOUT.
Wypróbuj online
Jak to działa
źródło
;
zamiast\
Python 2, 52 bajty
Gromadzi ciąg
s
do wydrukowania i aktualizuje liczbę spacji wiodącychn/2
.while
Pętli na zakończenie0
jest rzadką pętli liczbowa niż przebijeexec
pętli (53 bajtów)Również 53-bajtowa alternatywa:
źródło
JavaScript (ES6),
85756968 bajtów-1 bajt dzięki @ l4m2 .
źródło
for(s=a='',x=36;--x>9;)s+=` `.repeat(x/2-5)+(a=x.toString(36)+a)+'#'
1B krótszyBrain-Flak , 244 bajty
Wypróbuj online!
Powinno to być wystarczająco czytelne, jak jest. Jeśli potrzebujesz, mam pełne wyjaśnienie:
źródło
This should be readable enough as is.
Mówisz o Brain-Flak , prawda?Galaretka ,
1513 bajtów-2 bajty dzięki @miles (utworzyłem łańcuch niladyczny, który, jak podejrzewałem, istniał, ale nie utworzył)
TryItOnline!
W jaki sposób?
źródło
ØaJ’H⁶ẋżṫJ$ṚY
który oszczędza 2 bajtyC,
7268 bajtówźródło
05AB1E , 5 bajtów
Wypróbuj online!
źródło
Turtlèd ,
7068 bajtówzwróć uwagę na spację końcową
Wypróbuj online!
Jak to działa:
Wyjaśnienie czytelne dla człowieka (?):
Używa ciągu var do przechowywania alfabetu. Przy każdej iteracji zmniejsza indeks o jeden, dopóki nie zostanie zawinięty i zatrzymuje się po przejściu do ostatniej linii. W przypadku wcięć naprzemiennych używa char var. Każda iteracja sprawdza char var i odwraca go. jeśli był *, przesuwa się w prawo, więc pierwszy znak wyrównuje się, w przeciwnym razie nie, więc ostatni znak wyrównuje się.
źródło
Perl, 44 bajty
Jest to port @ XNOR za odpowiedź .
Potrzebuje
-E
(lub-M5.010
) do uruchomienia:źródło
PHP, 71 bajtów
źródło
(26-$i)/2
→13-$i/2
Java 7,
128127 bajtówZapisano 1 bajt. Dzięki Kevin.
bez golfa
Bez zaliczenia 122 w funkcji
132 bajty
bez golfa
źródło
=
atd+=c+s+"\n"
. Możesz także sformatować swój nieoznakowany kod nieco za pomocą wcięć. Zauważyłem to również w przypadku niektórych innych odpowiedzi. :)s=v+s
w rekursji znakiems+=v
?Rubinowy, 64 bajty
źródło
join
wywołaniueach
zamiastmap
dzwonienia, ponieważ jest to zbędne, ponieważ nie dbamy o to, do czego wracamy. Możesz zadzwonićlast
na zasięg(0..26).map
spróbuj27.times
; zamiast('a'..'z').to_a
,[*?a..?z]
; i zamiast.join
,*""
.Japt , 16 bajtów
Wypróbuj online!
Wyjaśnienie:
źródło
REXX, 52 bajty
Wydajność:
źródło
Vim, 25 klawiszy
Gdzie ␍ jest klawiszem Enter, czasami także oznaczonym jako
<cr>
.Wyjaśnienie
Jestem nowy w ViM - zacząłem w listopadzie. Zastanawiasz się, czy istnieje sposób na połączenie inicjalizacji
P
z tą w makrze.Jaki jest „prawidłowy” sposób przetestowania sekwencji ViM w golfa? Testowałem z
\vi -u /dev/null
. Jednak w maszynie wirtualnej nawet:h<_␍
nie działa. Nie jestem też pewien, dlaczego mój ViM przejdzie na pierwszą postać niebędącą spacją haha.PS Zanim zacząłem używać OS X, grałem w Hexagony ze świetnymi narzędziami ... Teraz w OS XI nie robię wina, a zatem nie uruchamiam świetnych narzędzi do wyjaśniania i debugowania. Tak zaczęła się moja podróż z ViM!
źródło
C # (.NET Core) , 112 bajtów
Wypróbuj online!
źródło
Tcl , 92 bajty
Wypróbuj online!
tcl, 94
próbny
W połowie procesu przypadkowo dostałem kursywą wersję czapki:
tcl, 94
próbny
tcl, 101
próbny
W połowie procesu przypadkowo dostałem kursywą wersję czapki:
tcl, 99
próbnyźródło
Common Lisp, SBCL,
8382 bajtyWyjaśnienie
-1 za pomocą sugestii ASCII-tylko do użycia
<enter>
zamiast~%
źródło
T-SQL, 107 bajtów
Modyfikuje ciąg dla każdej linii, wciskając odpowiednią literę we właściwej pozycji za pomocą funkcji SQL
STUFF()
. Sformatowany:@/2
używa podziału na liczby całkowite (bez reszty), aby określić pozycję do wstawienia litery.@%2
jestMODULO
funkcją i zmienia wartość z 0 (wstaw literę) na 1 (zastąp spację).Jeśli wolisz wielkie litery, użyj
CHAR(@+63)
zamiast tego (nie zmienia naszej liczby bajtów).źródło
Perl 5 ,
4038 bajtów-2 bajty dzięki @Dom Hastings
Wypróbuj online!
źródło
Stax , 7 bajtów
Uruchom i debuguj
źródło
Haskell (Lambdabot), 73 bajty
ta sama długość:
Używam
init.tails
lubtail.inits
z możliwym zwrotem z przodu w prawie każdym wyzwaniu; Chciałbym, żeby już dodali go do Preludium.źródło
Python 2,
6664 bajtówźródło
Groovy, 53 bajty
Wydajność:
źródło
QBIC , 57 bajtów
Ten działa zaskakująco dobrze z pętlami QBIC 'FOR. Objaśnienie (poprzedniej wersji - obowiązuje ta sama zasada):
Wydajność:
źródło
Rakieta 137 bajtów
Nie golfowany:
Testowanie:
Wydajność:
źródło