Tugas
Tugas Anda adalah mencetak teks ini:
A
BCD
EFGHI
JKLMNOP
QRSTUVWXY
ZABCDEFGHIJ
KLMNOPQRSTUVW
XYZABCDEFGHIJKL
MNOPQRSTUVWXYZABC
DEFGHIJKLMNOPQRSTUV
WXYZABCDEFGHIJKLMNOPQ
RSTUVWXYZABCDEFGHIJKLMN
OPQRSTUVWXYZABCDEFGHIJKLM
NOPQRSTUVWXYZABCDEFGHIJKLMN
OPQRSTUVWXYZABCDEFGHIJKLMNOPQ
RSTUVWXYZABCDEFGHIJKLMNOPQRSTUV
WXYZABCDEFGHIJKLMNOPQRSTUVWXYZABC
DEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL
MNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVW
XYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJ
KLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXY
ZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOP
QRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI
JKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCD
EFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZA
BCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
Spesifikasi
- Anda dapat melakukannya dalam huruf kapital semua dan bukan huruf kapital semua.
- Membuntuti baris baru di ujung segitiga diizinkan.
- Membuntuti spasi setelah setiap baris diizinkan.
- Anda harus mencetak ke STDOUT alih-alih mengeluarkan serangkaian string.
Mencetak gol
Ini adalah kode-golf . Program dengan kemenangan jumlah byte terendah.
code-golf
ascii-art
kolmogorov-complexity
Biarawati Bocor
sumber
sumber
mod
fungsi. Mungkin membuat sendiri jika aku punya waktu.Jawaban:
Vim, 29 byte
Di mana
↵
mewakili kunci Return,♥
tombol Escape, danβ
tombol Backspace.sumber
␛
bukan♥
. Dan␈
bukannyaβ
. Itulah tujuan dibuatnya Unicode ini. utf8icons.com/subsets/control-picturesPython 2, 65 byte
sumber
Jelly , 10 byte
Cobalah online!
Bagaimana itu bekerja
sumber
ṁ
bagus !! [menunggu untuk mengucapkan selamat untuk 100 ribu perwakilan]H
adalah separuh danḤ
kebalikannya (tidak bernafas )./2
atau*2
, jadi "Membagi dua" atau "Double". Itu sebabnya saya bingung.27Ḷ²IRØAṁY
51Rm2RØAṁY
VBA Excel (80 byte, 1742 byte)
Excel, 1742 byte
Terinspirasi oleh jawaban kreatif ugoren , saya berhasil menemukan formula Excel untuk membuat pola seperti yang ditunjukkan dalam OP.
Rekatkan rumus ini di sel A1, lalu seret ke seluruh rentang A1: A26.
Panjang rumus adalah 67 byte tetapi Anda harus mengulanginya 26 kali, jadi itu sama dengan 67 * 26 = 1742 byte. Berikut ini hasilnya:
Excel VBA, 80 byte
Sekarang mungkin kami mengintegrasikan Excel dengan VBA untuk mengotomatiskan proses dan menyimpan banyak byte karena VBA dibangun di sebagian besar aplikasi Microsoft Office, termasuk Excel. Tulis dan jalankan kode berikut di Jendela Segera (gunakan tombol kombinasi CTRL+ Guntuk menampilkannya di Editor Visual Basic):
Program ini bekerja dengan mencetak rumus Excel di atas ke rentang A1: A26. Sayangnya, baik Excel dan VBA tidak memiliki alfabet bawaan.
sumber
Haskell, 67 byte
Rekursi sederhana sepanjang
i
garis. Dalam setiap langkah,i
karakter berikutnya diambil dari pengulangan alfabet tanpa batas.sumber
Mathematica, 90 byte
Fungsi anonim. Tidak mengambil input dan mengembalikan string sebagai output. Saran bermain golf diterima. Contoh apa yang
Internal`PartitionRagged
dilakukan:sumber
C, 79 byte
Jawaban pertama saya di C \ o /
Saran bermain golf lebih dari diterima.
sumber
i;main(j){while(i<676)printf("\n%c"+(j*j^i++||!j++),i%26+65);}
i;main(j){for(;j<27;j*j^++i||puts("",j++))putchar(i%26+65);}
Brachylog , 37 byte
Cobalah online!
Penjelasan
Predikat utama:
Predikat 1: digunakan untuk menghasilkan string variabel dengan panjang ganjil.
sumber
Z
karena26
bebas persegi.Pyth , 12 byte
Cobalah online!
sumber
JavaScript (ES6), 77
82 88Diperlukan EcmaScript 6 hanya untuk menghemat 1 byte menggunakan string string literal untuk baris baru.
Kurang golf
Uji
sumber
Perl,
424139 byteHanya kode:
Versi yang lebih pendek jelas memicu masalah perl internal (Penggunaan nilai yang dibebaskan dalam iterasi):
sumber
JavaScript, 129 byte
sumber
[...'ABCDEFGHIJKLMNOPQRSTUVWXYZ']
alih-alih'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split``
.Pyke, 14 byte
Coba di sini!
sumber
Pergi, 133 byte
sumber
MATLAB,
112 109 95 7977 byteIni juga akan bekerja dengan Octave , Anda dapat mencoba online di sini .
Jadi setelah beberapa perubahan besar, saya telah menyimpan
1432 byte lebih lanjut . Yang ini menjadi lebih seperti panjang yang saya harapkan dari MATLAB. Saya telah meninggalkan versi lama di bawah karena ini sangat berbeda.Versi asli:
Wow, yang satu ternyata lebih panjang dari yang saya kira. Saya akan melihat apakah saya tidak bisa menjatuhkan beberapa byte darinya.
Versi ungolfed untuk menjelaskan:
Ucapan Terima Kasih
sumber
XPath 3.0 (dan XQuery 3.0), 84 byte
Penjelasan:
(1 to 26)!(65 to 90)
adalah alfabet 26 kali(0 to 25)!(subsequence(XX, start, len),10)
membutuhkan 26 berikutnya, masing-masing diikuti oleh baris barusubsequence(X, .*.+1, 2*.+1)
mengambil urutan berikutnya dengan posisi awal dan panjang: (1, 1), (2, 3), (5, 5), (10, 9) dll.codepoints-to-string()
mengubah Unicode codepoint menjadi karaktersumber
Ruby, 46 byte
Lihat di ideone: http://ideone.com/3hGLB0
sumber
05AB1E (alternatif) 15 byte
Cobalah online!
Penjelasan:
sumber
R,
120115111 byteTidak Terkumpul:
Pada dasarnya,
b
adalah vektor dari angka ganjil di antara1
dan51
, sehingga memberikan panjang setiap baris. Jelas,sum
fungsinya menjumlahkan angka dari vektor ini, dan memberikan indeks awal dan akhir.-5 byte terima kasih kepada @plannapus!
-4 byte terima kasih kepada @plannapus!
sumber
a
sekali Anda sebenarnya tidak perlu mendefinisikannya, artinya Anda dapat mencukur beberapa byte lagi:b=seq(1,51,2);v=c();for(i in 1:26){v=c(v,c(rep(LETTERS,26)[(sum(b[1:i-1])+1):sum(b[1:i])],"\n"))};cat(v,sep="")
works.b=seq
bagian dalam tubuh utama, sehingga bahkan lebih mudah dibaca!R,
81 73 6563 bytefor
Pendekatan loop sederhana . Ulangi alfabet 26 kali dan loop melalui rentang indeks geser yang dihitung menggunakan(i^2-2*i+2):i^2
.sumber
Sekam , 10 byte
Cobalah online!
Penjelasan
sumber
Batch, 123 byte
sumber
05AB1E ,
1817 bytePenjelasan
Cobalah online!
sumber
Rexx,
7472 byteTidak Disatukan:
sumber
TSQL, 129 byte
GUNAKAN MASTER di awal skrip adalah untuk memastikan bahwa kueri dijalankan di database master yang default untuk banyak pengguna (tidak termasuk byte untuk itu).
Golf:
Tidak Disatukan:
Biola
Biola untuk versi yang lebih lama menggunakan jalur xml
sumber
PowerShell, 68 byte
Bagian sebelum titik koma pertama menghasilkan string yang berisi 26 salinan huruf besar. Bagian berikutnya menyuntikkan linebreak pada indeks setiap angka kuadrat (bekerja mundur jadi saya tidak harus memperhitungkan pergeseran). Akhirnya,
$a
pada akhirnya hanya mendorong variabel string ke PowerShellSTDOUT
.sumber
Dyalog APL, 18 byte
↑2{⍺↓⍵⍴⎕a}/×⍨0,⍳26
sumber
C, 60 byte
sumber
puts
hanya butuh satu argumen. (Beberapa perilaku tidak terdefinisi diizinkan dalam codegolf secara normal tetapi ini agak terlalu jauh di luar jalur yang biasa)C ++, 111 byte
Coba pertama di salah satu dari ini. Menggunakan "c" untuk merekam surat mana yang perlu dicetak pada waktu tertentu. Setelah "c" melewati 90 ('Z') ia akan direset ke 65 ('A'). Mencetak piramida menggunakan untuk loop.
sumber
if(c<92)c=65
untuk mengambil satu byte off, dan Anda mungkin juga dapat melakukanint a()
bukanvoid a()
, tapi aku tidak positif jika yang bekerja tanpa pengembalian. Selain itu, saya pikir Anda perlu memasukkan#include <iostream>
dalam jumlah byte Anda.if(c>90)c=65
, tapi terima kasih atas sarannya, itu ide yang bagus. Juga, saya kira saya akan memasukkannya, terima kasih.PHP,
7669 bytesumber