Perhatikan bahwa ini tidak sama dengan Cetak alfabet empat kali .
Tugas ini adalah untuk menulis program untuk menghasilkan empat salinan dari setiap huruf alfabet Inggris, satu huruf per baris, pada output standar:
A
A
A
A
B
B
B
B
dll.
Output harus menyertakan baris baru setelah setiap huruf.
Huruf besar tanpa hasil tambahan lebih disukai; Namun, huruf kecil dan / atau spasi putih dapat diterima jika menggunakan huruf besar / strip akan memperpanjang solusi Anda.
DIedit UNTUK MENAMBAH: Solusi harus cukup lengkap untuk dieksekusi. Saya harus dapat menjalankan implementasi bahasa, menempelkan kode dari jawaban, dan mendapatkan hasil, tanpa mengetikkan kode tambahan apa pun.
Pertanyaan kelengkapan di atas muncul dalam konteks solusi C. Tentunya harus ada aturan atau konvensi tentang hal ini di situs golf kode? Jika demikian, saya akan dengan senang hati memberikan panduan komunitas. Tapi ini yang saya ambil:
Berkenaan dengan C secara khusus, Anda perlu memasukkan (dan menghitung)
main(){
... di}
sekitar kode, karena tidak akan mengkompilasi sebaliknya. Peringatan karena tidak ada#include <stdio.h>
apa-apa asalkan kode masih dikompilasi. Secara umum, bahasa yang dikompilasi membutuhkan unit yang dapat dikompilasi.Ekspresi kosong yang menghasilkan hasil yang diinginkan dapat diterima jika ada cara untuk mengeksekusi ekspresi secara langsung; misalnya, jika bahasa tersebut memiliki REPL. Jadi Anda bisa mengirimkan Haskell tanpa
main=
asalkan benar-benar bekerja seperti yang tertulis di misalnya yangghci
cepat. Tetapi karena itu berarti meletakkanlet
deklarasi Anda, mungkin merupakan kemenangan bersih untuk tetap menggunakanrunhaskell
format.Demikian pula,
awk
skrip harus dalamBEGIN
(atauEND
, dengan asumsi bahwa stdin dilampirkan/dev/null
) blok karena kita tidak memproses input apa pun.
dll.
sumber
Jawaban:
APL (5)
Format matriks (
⍪
) dari 4-replikasi (4/
) dari alfabet (⎕A
).sumber
Python - 37
i
mulai dari 0 hingga 104; itu dibagi empat dan ditambahkan ke nilai ascii untukA
, dan karakter yang dihasilkan dicetak.sumber
3/4
adalah 0, sedangkan3.0/4.0
0,75;range()
menghasilkan bilangan bulat.for i in range(104):print(chr(i//4+65))
R,
302827Versi sebelumnya dengan 30 byte:
sumber
1
bukan""
untuk menentukan stdout diwrite
juga, yang menyimpan byte lain.C, 59
Saya mengirimkan ini, jawaban yang sangat panjang dan tidak kompetitif, hanya karena saya belum melihat kiriman C. Dan itu membuatku sedih. : - /
LATER: Alat peraga ke @moala untuk melakukan versi int "/ 4" ini, menghemat 13 karakter!
sumber
J:
1813Saya masih agak gemetar dengan J, jadi ini mungkin bisa diperbaiki
sumber
#
) bukan divisi seperti:4#u:65+i.26 1
. Juga,~
bertukar argumen fungsi, jadi jika Anda pernah melakukannya(expression) F value
, Anda bisa menggantinya denganvalue F~ expression
untuk menyimpan karakter.4#65{26,.\a.
untuk 12 byte.Ruby, 23
Semua kredit untuk @manatwork - komentarnya naik, bukan ini. :)
sumber
puts [*?A..?Z].map{|i|[i]*4}
atauputs ([*?A..?Z]*4).sort
, jadi surat-surat itu dipesan seperti pada contoh.puts (?A..?Z).map{|i|[i]*4}
adalah karakter yang lebih pendek. Anda dapat meneleponmap
langsung di Range, jadi Anda tidak perlu gambar percikan dalam kasus ini.PowerShell:
3223Kode golf:
Panduan:
[char[]](
...)
mengambil larik objek dan mengonversinya menjadi karakter ASCII.65..90
adalah kode ASCII untuk AZ.*4
mengulangi seri 4 kali.|Sort
macam output.catatan:
Jika Anda ingin ini ditulis ke file, cukup lempar
>
, diikuti dengan nama file, di akhir.sumber
Haskell, 46
sumber
putStr$['A'..'Z']>>=("golf">>).(:"\n")
menghemat 8 bitBefunge 98 - 18
Bekerja dengan menyimpan nomor dan berakhir ketika mencapai 104. Mencetak karakter yang sesuai dari alfabet untuk angka dibagi dengan 4, diikuti oleh baris baru. Tetapi jika saya tidak perlu menambahkan baris baru setelah setiap huruf, maka itu adalah 16 karakter:
Dapat dikurangi jika saya dapat mencetak lebih banyak karakter (yaitu semuanya empat kali) (
76 karakter, bahkan berfungsi di Befunge 93):Dengan baris baru:
sumber
GolfScript:
1715 karaktersumber
Perl 5, 21
sumber
C,
46444346:44:44 juga:
Terima kasih kepada @marinus, 43:
Haruskah saya menambahkan hadiah untuk mendapatkan ke 42? :)
sumber
>>2
dengan/4
.Jawa: 56
edit: diubah dari 'print' ke 'println'
sumber
The solution must be complete enough to execute. I should be able to invoke an implementation of the language, paste the code from the answer, and get results, without typing any additional code.
saya pikir solusi Anda melanggar kondisi iniKeempat, 37
sumber
+
.Sebenarnya, 6 byte
Coba di sini!
Penjelasan
4 Bytes dengan huruf kecil dan tanpa baris baru:
sumber
Kode mesin x86 16-bit MS-DOS COM, 25 byte
Dalam hex:
Ini adalah program MS-DOS .COM yang lengkap. Salin urutan byte ke file dengan ekstensi .com dan jalankan dari DOSBox
Membongkar:
sumber
BrainF * ,
7960sumber
+++++++++++++[>+>+++++>++<<<-]>--->>[<.<.>.<.>.<.>.<.>+>-]
AWK, 48
Mari kita coba dengan AWK ...
Seperti yang disarankan oleh manatwork kita bisa menyingkirkan 2 karakter
AWK, 46 (Edit)
AWK, 40 (mengedit kode MarkReed )
sumber
END{for(i=104;i--;s+=0==i%4)printf"%c\n",s+65}
.END
blok berarti membutuhkan aliran input (bahkan jika itu/dev/null
) untuk bekerja. Apakah itu mengubah jumlah char? Lagi pula,BEGIN{for(;++i<104;){printf"%c\n",i/4+65}}
5 karakter lebih pendek.END
persyaratan pola untuk aliran input ...PowerShell, 21
Pendekatan yang sedikit berbeda dengan Iszi. Dan lebih pendek :-)
sumber
C # LINQ
115 Bytes110 Bytessumber
05AB1E, 6 byte
Penjelasan:
Tanpa baris baru, 4 byte
Cobalah online!
sumber
Jelly, 5 bytes (non-competing?)
Try it online!
Explanation:
sumber
Perl 6, 32
sumber
Canvas, 5 bytes
Try it here!
Explanation:With
¶
replaced with\n
upon printing.sumber
Kotlin,
6659 bytesSave 7 bytes removing for loop.
Try it online!
sumber
brainfuck, 48 bytes
Try it online!
Prints in lowercase, separated by carriage returns. Uses wrapping 8 bit cells as well as cells left of the origin, though you can prepend a
>
to counter the latter.sumber
Bash: 24 characters
sumber
Dc: 35 characters
sumber
Scala, 42
sumber
Julia,
39, 36sumber