Tugas Anda adalah mencetak teks ini:
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
Kasus tidak masalah.
Ingat, ini adalah kode-golf , jadi kode dengan jumlah byte terkecil menang.
code-golf
kolmogorov-complexity
alphabet
Oliver Ni
sumber
sumber
Jawaban:
Cheddar,
50454237 byteMudah, tetapi menggunakan sintaks rentang cheddar yang ringkas (baik numerik maupun alfabet)
Cobalah online!
Penjelasan
65
adalah kode char untukA
dan90
untukA
sumber
Z
adalah90
, tidakA
.05AB1E ,
1513 byteCobalah online! (sedikit berbeda dari di atas karena
ú
belum pada TIO)Penjelasan
sumber
Python 2, 70 byte
Porting dari jawaban Emigna , -2 byte untuk diganti
-i-1
dengan~i
sumber
R,
67 6659 byteEDIT: Menyimpan beberapa byte berkat @rturnbull
Mengeksploitasi fakta bahwa angka apa pun yang diteruskan ke
rep
fungsi secara otomatis dibulatkan ke bilangan bulat terdekat (misalnyarep("*",1.99) => "*"
) yang berarti bahwa urutan aktual yang dilewati adalahfloor(13-1:26/2)
:sumber
14...-1
dengan13
?25:0
bukan1:26
, Anda dapat mengubah13-i/2
kei/2
, dan menyederhanakan(27-i):26
untuki:25+1
, tabungan 6 byte.Pyth, 15 byte
Program yang mencetak hasilnya ke STDOUT.
Cobalah online
Bagaimana itu bekerja
sumber
;
alih-alih\
Python 2, 52 byte
Akumulasi string
s
untuk mencetak dan memperbarui jumlah spasi utaman/2
. Sebuahwhile
loop yang berakhir pada0
adalah loop numerik yang jarang daripada mengalahkanexec
loop (53 byte):Juga alternatif 53-byte:
sumber
JavaScript (ES6),
85756968 byte-1 byte terima kasih kepada @ l4m2 .
sumber
for(s=a='',x=36;--x>9;)s+=` `.repeat(x/2-5)+(a=x.toString(36)+a)+'#'
1B lebih pendekBrain-Flak , 244 byte
Cobalah online!
Ini harus cukup mudah dibaca. Jika Anda membutuhkannya, saya punya penjelasan lengkap:
sumber
This should be readable enough as is.
Anda berbicara tentang Brain-Flak , kan?Jeli ,
1513 byte-2 byte terima kasih kepada @miles (membentuk rantai niladic yang saya duga ada tetapi tidak terbentuk)
TryItOnline!
Bagaimana?
sumber
ØaJ’H⁶ẋżṫJ$ṚY
yang menghemat 2 byteC,
7268 bytesumber
05AB1E , 5 byte
Cobalah online!
sumber
Turtlèd ,
7068 byteperhatikan ruang trailing
Cobalah online!
Bagaimana itu bekerja:
Penjelasan yang dapat dibaca manusia (?):
Ia menggunakan string var untuk memuat alfabet. Setiap iterasi, ia mengurangi indeks dengan satu, sampai membungkus, dan berhenti, setelah sampai ke baris terakhir. Untuk indentasi bolak-balik, ia menggunakan char var. Setiap iterasi memeriksa char var dan membaliknya. jika itu * itu bergeser ke kanan, maka karakter pertama sejajar, jika tidak, maka karakter terakhir menyelaraskan.
sumber
Perl, 44 byte
Ini adalah port jawaban @ xnor .
Perlu
-E
(atau-M5.010
) untuk dijalankan:sumber
PHP, 71 Bytes
sumber
(26-$i)/2
→13-$i/2
Java 7,
128127 byteDisimpan 1 byte. Terima kasih kevin.
ungolfed
Tanpa operan 122 dalam suatu fungsi
132 byte
ungolfed
sumber
=
did+=c+s+"\n"
. Selain itu, Anda mungkin ingin memformat kode yang tidak dipisahkan sedikit dengan lekukan. Saya perhatikan itu dengan beberapa jawaban Anda yang lain juga. :)s=v+s
dengan rekursis+=v
?Ruby, 64 byte
sumber
join
Memanggileach
alih-alihmap
tidak perlu, karena kami tidak peduli dengan apa yang kami kembalikan. Anda dapat meneleponlast
pada suatu jangkauan(0..26).map
, coba27.times
; bukan('a'..'z').to_a
,[*?a..?z]
; dan bukannya.join
,*""
.Japt , 16 byte
Cobalah online!
Penjelasan:
sumber
REXX, 52 byte
Keluaran:
sumber
Vim, 25 penekanan tombol
Di mana ␍ adalah tombol Enter, terkadang juga dinotasikan sebagai
<cr>
.Penjelasan
Saya baru mengenal ViM - saya mulai pada bulan November. Ingin tahu apakah ada cara untuk menggabungkan inisialisasi
P
dengan yang ada di makro.Apa cara "benar" untuk menguji urutan ViM golf? Saya diuji dengan
\vi -u /dev/null
. Namun dalam VM bahkan:h<_␍
tidak berfungsi. Juga tidak terlalu yakin mengapa ViM saya akan pindah ke karakter non spasi pertama haha.PS Sebelum saya pindah untuk menggunakan OS X, saya bermain golf di Hexagony dengan alat yang hebat ... Sekarang di OS XI tidak membuat anggur dan dengan demikian tidak menjalankan alat yang bagus untuk penjelasan dan debugging. Jadi, mulailah perjalanan saya dengan ViM!
sumber
C # (.NET Core) , 112 byte
Cobalah online!
sumber
Tcl , 92 byte
Cobalah online!
tcl, 94
demo
Di tengah proses, saya tidak sengaja mendapatkan versi miring dari topi:
tcl, 94
demo
tcl, 101
demo
Di tengah proses, saya tidak sengaja mendapatkan versi miring dari topi:
tcl, 99
demosumber
Common Lisp, SBCL,
8382 bytesPenjelasan
-1 menggunakan sugestion oleh ASCII-satunya untuk menggunakan
<enter>
bukan~%
sumber
T-SQL, 107 byte
Memodifikasi string untuk setiap baris dengan menjejalkan huruf yang benar pada posisi yang benar menggunakan fungsi SQL
STUFF()
. Diformat:@/2
menggunakan pembagian integer (tanpa sisa) untuk menentukan posisi untuk memasukkan surat.@%2
adalahMODULO
fungsinya, dan membalik antara 0 (masukkan huruf) dan 1 (menimpa spasi).Jika Anda lebih suka huruf awal, gunakan
CHAR(@+63)
saja (tidak mengubah jumlah byte kami).sumber
Perl 5 ,
4038 byte-2 byte terima kasih kepada @Dom Hastings
Cobalah online!
sumber
Stax , 7 byte
Jalankan dan debug itu
sumber
Haskell (Lambdabot), 73 byte
sama panjang:
Saya menggunakan
init.tails
atautail.inits
dengan kemungkinan membalik di depan di hampir setiap tantangan; Saya berharap mereka akan menambahkannya ke Prelude.sumber
Python 2,
6664 bytesumber
Groovy, 53 byte
Keluaran:
sumber
QBIC , 57 byte
Yang ini bekerja sangat baik dengan loop FOR QBIC. Penjelasan (dari versi sebelumnya - prinsip yang sama berlaku):
Keluaran:
sumber
Racket 137 byte
Tidak Disatukan:
Pengujian:
Keluaran:
sumber