Widziałeś niesamowity trójkąt alfabetu , zemstę trójkąta alfabetu, a teraz nadszedł czas na zemstę trójkąta alfabetu!
Przedstawiamy ...
DIAMENT ŚWIĘTEGO ALFABETU!
Twoim zadaniem jest wydrukowanie tego dokładnego tekstu, małe / wielkie litery nie mają znaczenia, chociaż znaki nowej linii:
bcdefghijklmnopqrstuvwxyzazyxwvutsrqponmlkjihgfedcb
cdefghijklmnopqrstuvwxyzabazyxwvutsrqponmlkjihgfedc
defghijklmnopqrstuvwxyzabcbazyxwvutsrqponmlkjihgfed
efghijklmnopqrstuvwxyzabcdcbazyxwvutsrqponmlkjihgfe
fghijklmnopqrstuvwxyzabcdedcbazyxwvutsrqponmlkjihgf
ghijklmnopqrstuvwxyzabcdefedcbazyxwvutsrqponmlkjihg
hijklmnopqrstuvwxyzabcdefgfedcbazyxwvutsrqponmlkjih
ijklmnopqrstuvwxyzabcdefghgfedcbazyxwvutsrqponmlkji
jklmnopqrstuvwxyzabcdefghihgfedcbazyxwvutsrqponmlkj
klmnopqrstuvwxyzabcdefghijihgfedcbazyxwvutsrqponmlk
lmnopqrstuvwxyzabcdefghijkjihgfedcbazyxwvutsrqponml
mnopqrstuvwxyzabcdefghijklkjihgfedcbazyxwvutsrqponm
nopqrstuvwxyzabcdefghijklmlkjihgfedcbazyxwvutsrqpon
opqrstuvwxyzabcdefghijklmnmlkjihgfedcbazyxwvutsrqpo
pqrstuvwxyzabcdefghijklmnonmlkjihgfedcbazyxwvutsrqp
qrstuvwxyzabcdefghijklmnoponmlkjihgfedcbazyxwvutsrq
rstuvwxyzabcdefghijklmnopqponmlkjihgfedcbazyxwvutsr
stuvwxyzabcdefghijklmnopqrqponmlkjihgfedcbazyxwvuts
tuvwxyzabcdefghijklmnopqrsrqponmlkjihgfedcbazyxwvut
uvwxyzabcdefghijklmnopqrstsrqponmlkjihgfedcbazyxwvu
vwxyzabcdefghijklmnopqrstutsrqponmlkjihgfedcbazyxwv
wxyzabcdefghijklmnopqrstuvutsrqponmlkjihgfedcbazyxw
xyzabcdefghijklmnopqrstuvwvutsrqponmlkjihgfedcbazyx
yzabcdefghijklmnopqrstuvwxwvutsrqponmlkjihgfedcbazy
zabcdefghijklmnopqrstuvwxyxwvutsrqponmlkjihgfedcbaz
abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba
bcdefghijklmnopqrstuvwxyzazyxwvutsrqponmlkjihgfedcb
abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba
zabcdefghijklmnopqrstuvwxyxwvutsrqponmlkjihgfedcbaz
yzabcdefghijklmnopqrstuvwxwvutsrqponmlkjihgfedcbazy
xyzabcdefghijklmnopqrstuvwvutsrqponmlkjihgfedcbazyx
wxyzabcdefghijklmnopqrstuvutsrqponmlkjihgfedcbazyxw
vwxyzabcdefghijklmnopqrstutsrqponmlkjihgfedcbazyxwv
uvwxyzabcdefghijklmnopqrstsrqponmlkjihgfedcbazyxwvu
tuvwxyzabcdefghijklmnopqrsrqponmlkjihgfedcbazyxwvut
stuvwxyzabcdefghijklmnopqrqponmlkjihgfedcbazyxwvuts
rstuvwxyzabcdefghijklmnopqponmlkjihgfedcbazyxwvutsr
qrstuvwxyzabcdefghijklmnoponmlkjihgfedcbazyxwvutsrq
pqrstuvwxyzabcdefghijklmnonmlkjihgfedcbazyxwvutsrqp
opqrstuvwxyzabcdefghijklmnmlkjihgfedcbazyxwvutsrqpo
nopqrstuvwxyzabcdefghijklmlkjihgfedcbazyxwvutsrqpon
mnopqrstuvwxyzabcdefghijklkjihgfedcbazyxwvutsrqponm
lmnopqrstuvwxyzabcdefghijkjihgfedcbazyxwvutsrqponml
klmnopqrstuvwxyzabcdefghijihgfedcbazyxwvutsrqponmlk
jklmnopqrstuvwxyzabcdefghihgfedcbazyxwvutsrqponmlkj
ijklmnopqrstuvwxyzabcdefghgfedcbazyxwvutsrqponmlkji
hijklmnopqrstuvwxyzabcdefgfedcbazyxwvutsrqponmlkjih
ghijklmnopqrstuvwxyzabcdefedcbazyxwvutsrqponmlkjihg
fghijklmnopqrstuvwxyzabcdedcbazyxwvutsrqponmlkjihgf
efghijklmnopqrstuvwxyzabcdcbazyxwvutsrqponmlkjihgfe
defghijklmnopqrstuvwxyzabcbazyxwvutsrqponmlkjihgfed
cdefghijklmnopqrstuvwxyzabazyxwvutsrqponmlkjihgfedc
bcdefghijklmnopqrstuvwxyzazyxwvutsrqponmlkjihgfedcb
To jest kod-golf, wygrywa najmniejszy bytecount.
Zasady:
- Standardowe luki są niedozwolone.
a
musi być środkiem diamentu alfabetu.
code-golf
string
kolmogorov-complexity
alphabet
Urna Magicznej Ośmiornicy
źródło
źródło
a
a centrum byłoz
.<
zrobiłby to w Pyth:.<S5 1
spowodowałby[2, 3, 4, 5, 1]
. To jest to samo co.<[1 2 3 4 5)1
. Jednak nie jestem pewien co do diamentu.b
pierwszą literą zamiasta
. Oczywiście niezbędna jest również zmiana biegów.Odpowiedzi:
05AB1E ,
1312 bajtówWypróbuj online!
Wyjaśnienie
źródło
A©gF®À©û})û»
tak myślałem. Nigdy nie robisz tego źle! Nauczyłem się wszystkiego, co widziałem, heh. Globalna lista to ten sam podstawowy pomysł.Vim,
62, 60 klawiszyCzerpiąc inspirację z niesamowitej odpowiedzi Lynna na pomysł kradzieży alfabetu z dokumentów pomocy.
Możesz obserwować, jak to się dzieje w czasie rzeczywistym, gdy próbuję zapamiętać właściwą sekwencję klawiszy!
Zauważ, że ten gif jest nieco przestarzały, ponieważ produkuje niewłaściwe wyjście, a ja nie miałem jeszcze okazji, aby go ponownie nagrać.
źródło
MATL , 14 bajtów
Wypróbuj online!
źródło
PHP, 129 bajtów
źródło
syntax error, unexpected '(' on line 1
Która wersja php?for($f=substr;
i$f($r=join(range(a,z)),$i,26-$i))
zamiast($f=substr)($r=join(range(a,z)),$i,26-$i))
uniknąć błęduHaskell, 75 bajtów
Jak to działa:
źródło
C, 76 bajtów
Funkcja, którą należy wywołać jak poniżej. Drukuje wielkie litery.
Proste podejście, dodaj odległości xiy od środka kwadratu, a także przesunięcie 25 na
a
środku, weź moduł 26 i odejmij od90
kodu ASCII dlaZ
. Gdziei%52
== 010
drukowany jest nowy wiersz ASCII .źródło
+25
jest takie samo, jak-1
w modulo 26-1%26
w C wynosi -1, a nie 25. Wynik jest[
w środku zamiast oczekiwanegoA
. W każdym razie dzięki, miałbyś rację w języku takim jak Ruby, gdzie-1%26
jest równy 25.R, 71 bajtów
outer
tworzy macierz ze wskaźnikami liter,letters[...]
następnie tworzy wektor z poprawnymi literami w.cat(...,sep="",fill=53)
następnie drukuje go z pożądanym formatowaniem.źródło
fill
opcji dlacat
. Świetny sposób drukowania sformatowanych matryc.Galaretka , 13 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
Øaṙ'JŒBŒḄY
za 10 :)ṙ1ṭ
.ØaṙJŒBŒḄY
Jest też w porządku, nie potrzebujesz szybkiego, ponieważ wektoryzuje w prawo do 0Galaretka, 11 bajtów
Wyjaśnienie:
źródło
Python 2,
9685 bajtówDrukowanie wersji wielkiej litery (oszczędza 1 bajt).
poprzednie rozwiązanie z pomocą błotniaka
źródło
Perl, 77 bajtów
Wymaga
-E
bez dodatkowych kosztów.Całkiem standardowe podejście ... Nie podoba mi się wołanie o odwrócenie. Myślę, że prawdopodobnie jest to bardziej matematyczne podejście, zobaczę, jak sobie radzę!
Stosowanie
źródło
reverse
wreverse 1..25
. Jednakfor
potrzebuje tego.reverse1..25
skutkuje0..25
. Biegnę5.18.2
...reverse1
jest niezdefiniowane. Ma sens.JavaScript (ES6),
9796 bajtówZapisano 1 bajt dzięki @ user81655
Dwie funkcje rekurencyjne;
C
to ten, który wyświetla poprawny tekst. Wypróbuj tutaj:Pokaż fragment kodu
źródło
Python 3, 119 bajtów
Próbowałem wykorzystać dwie osie symetrii diamentu, ale skończyło się to bardziej gadatliwym rozwiązaniem Karla Napfa .
źródło
for k in range(1,27):D+=A[k:]+A[:k];D+=D[-2:-27:-1]+'\n'
'bcdefghijklmnopqrstuvwxyza'
i zamienićrange(1,27)
zrange(26)
. Moja liczba bajtów to teraz 114Haskell,
6766 bajtówźródło
C, 252 bajty
Sformatowana wersja z makropoleceniami, która, mam nadzieję, jest bardziej zrozumiała:
Wiem, że to nie może wygrać, ale dobrze się bawiłem próbując. To moja pierwsza w historii próba gry w golfa kodowego.
źródło
Partia, 255 bajtów
Objaśnienie: Podprogram
u
obraca alfabet na zewnątrz o jedną literę od środka, co jest wzorem stosowanym w górnej połowie żądanego wyniku. Podprograml
obraca alfabet do wewnątrz o dwie litery. Następnie wpada dou
podprogramu, osiągając skuteczny obrót do wewnątrz jednej litery. W końcu drukowany jest ostatni wiersz, pozwalając, by kod wpadł dol
podprogramu.źródło
Pyke,
232221 bajtówWypróbuj tutaj!
źródło
C ++,
191179166165 bajtów-12 bajtów dzięki Kevinowi Cruijssenowi
-14 bajtów dzięki Zacharýmu
źródło
#include<iostream> int main(){for(int i=0,j,d=1;i<53;d+=i++/26?-1:1){for(j=0;j<26;)std::cout<<char((j+++d)%26+97);for(j=24;j>=0;)std::cout<<char((j--+d)%26+97);std::cout<<'\n';};}
#define C j;)std::cout<<char(97+(d+j
a następnie zmieniając ostatni wiersz na to:int main(){for(int i=0,j,d=1;i<53;d+=i++/26?-1:1){for(j=0;26>C++)%26);for(j=24;0<=C--)%26);std::cout<<'\n';};}
Węgiel ,
2421 bajtów-3 bajty dzięki tylko ASCII.
Wypróbuj online! Link jest do pełnej wersji.
... muszę popracować nad moim węglem drzewnym. : P
źródło
Slice
jest opcjonalny. > _>Slice
?JavaScript (ES6),
128115114 bajtówźródło
Groovy -
10397 bajtówZdaję sobie sprawę, że istnieją sprytniejsze sposoby na zrobienie tego, ale ...
Po uruchomieniu wynikiem skryptu jest żądana odpowiedź.
(Dzięki carusocomputing za wskazówkę dotyczącą oszczędzania 7 bajtów).
Zaktualizowałem odpowiednio przykład:
Zobacz http://ideone.com/MkQeoW
źródło
27.times(){}
i zapisać 7 bajtów;).Rakieta 293 bajtów
Nie golfowany:
Testowanie:
Wydajność:
źródło
Pyt ,
2119 bajtówWypróbuj online!
Wyjaśnienie:
źródło
SOGL V0.12 , 10 bajtów
Wypróbuj tutaj!
Wyjaśnienie:
źródło
Java 8,
154153 bajtyPort odpowiedzi @HatsuPointerKun C ++ , więc upewnij się, że go również głosujesz.
Wypróbuj tutaj.
źródło
Kotlin , 106 bajtów
Upiększony
Test
TryItOnline
Port @Karl Napf odpowiedź „s
źródło
VBA (Excel), 116 bajtów
Zgodnie z logiką Sir Joffana. :RE
źródło
VBA,
10910578 bajtówAnonimowa funkcja bezpośredniego okna VBE, która nie pobiera danych wejściowych i wysyła diament alfabetu do bezpośredniego okna VBE.
źródło
uBASIC , 86 bajtów
Wypróbuj online!
źródło
MY-BASIC , 89 bajtów
Anonimowa funkcja, która nie pobiera danych wejściowych i wyjściowych do konsoli.
Wypróbuj online!
źródło