Biorąc pod uwagę liczbę wejściową n
od 1
do 26
(lub 0
do 25
), wypisz odczyt alfabetu od lewej do prawej, aż do tej odpowiedniej litery, za pomocą a=1, b=2, c=3, ...
. Skręt polega na tym, że litery muszą być również powtarzane w pionie, odpowiednio do ich pozycji w alfabecie. Liczby nieparzyste (gdy 1
-zindeksowane) powinny być wyważone wzdłuż linii poziomej, podczas gdy liczby parzyste powinny zmieniać się na przemian na korzyść góry lub dołu (możesz wybrać, w którym kierunku pójść pierwszy). Jeśli indeksujesz 0, zamień nieparzyste / parzyste w poprzednim zdaniu.
Sformułowane w inny sposób - w przypadku gdy wartość alfabetyczne listu ?
jest #
, to nie powinno być #
kopie tego listu na wyjściu, wszystkie z nich w #
kolumnie Th. Litery te powinny być równomiernie wyważone powyżej i poniżej poziomej linii, która ma a
. Jeśli litery nie mogą być wyrównane równomiernie, naprzemiennie miej „dodatkową” literę powyżej i poniżej tej linii.
Oto sześć pierwszych wyników ( n = 1,2,3,4,5,6
, 1-indeksowanych, wybierając alternatywnie do dolnej dolnej), oddzielonych znakami nowej linii, dzięki czemu można zobaczyć wzorzec. Komentarze wyjaśniające wzorzec zaczynają się od #
.
a # On a line by itself
ab
b # The "extra" letter is below the horizontal
c
abc # The 'c' splits evenly
bc
d # Because the 'b' was below, the extra 'd' must be above
cd
abcd
bcd
de
cde
abcde # The 'e' balances
bcde
e
def
cdef
abcdef
bcdef
ef
f # Since the 'd' was above, the extra 'f' must be below
(pomiń kilka n=26
)
xyz
wxyz
tuvwxyz
stuvwxyz
pqrstuvwxyz
opqrstuvwxyz
lmnopqrstuvwxyz
klmnopqrstuvwxyz
hijklmnopqrstuvwxyz
ghijklmnopqrstuvwxyz
defghijklmnopqrstuvwxyz
cdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
fghijklmnopqrstuvwxyz
ijklmnopqrstuvwxyz
jklmnopqrstuvwxyz
mnopqrstuvwxyz
nopqrstuvwxyz
qrstuvwxyz
rstuvwxyz
uvwxyz
vwxyz
yz
z
Zasady
- Możesz wybrać wyjście wielkimi lub małymi literami, ale musi być spójne.
- Dane wyjściowe nie mogą zawierać obcych białych znaków, z wyjątkiem opcjonalnego końcowego znaku nowej linii.
- Dopuszczalny jest pełny program lub funkcja.
- Numer wejściowy można pobrać w dowolnym odpowiednim formacie .
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).
-
aby wypisywać wiersze w odwrotnej kolejności, co moim zdaniem jest dopuszczalne?x*-(x&2)
działa.Pyth , 26 bajtów
Idealny wynik dla wyzwania dotyczącego alfabetu.
Wypróbuj online!
źródło
Galaretka , 25 bajtów
Wypróbuj online! lub zweryfikuj wszystkie przypadki testowe .
źródło
JavaScript (ES6),
127126 bajtówUżywa sztuczki sortowania @ Lynn. Napisanie całego alfabetu było o dwa bajty tańsze niż jego obliczenie. Edycja: Zapisałem 1 bajt dzięki @ETHproductions, ponieważ zapomniałem zauważyć, że
\n
faktycznie reprezentuje dosłowny znak nowej linii. (Nie lubię wstawiać dosłownych znaków nowej linii w mojej odpowiedzi, gdy linia jest tak długa.)źródło
btoa`...`
gdzie...
jest zastąpione wynikiematob`abcdefghijklmnopqrstuvwxyzz`
. (Można również zastąpić\n
dosłowną nową linią.)