Simbol vs. Surat
The karakter ASCII telah dibagi sekali lagi ! Set Anda adalah The Letters and The Symbols .
Surat-surat
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Simbol
!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~
Tugasnya adalah menulis dua program:
Cetak masing-masing Surat tepat sekali tanpa menggunakan salah satu dari mereka dalam program Anda.
Cetak masing-masing Simbol tepat sekali tanpa menggunakan salah satu dari mereka dalam program Anda.
Aturan
- Ruang kosong dapat muncul di program Anda atau output.
- Karakter non-ASCII tidak diperbolehkan.
- Output pergi ke standar keluar atau ke file sebagai isi atau nama file.
- Tidak ada input
- Output hanya harus mengandung karakter ASCII dari satu set atau yang lain.
- Program dapat ditulis dalam berbagai bahasa atau bahasa yang sama dengan satu pengecualian:
- Bahasa Whitespace hanya dapat digunakan untuk salah satu program.
- Celah standar berlaku.
Mencetak gol
# of characters in program 1
+# of characters in program 2
=Score
Menang skor terendah!
catatan:
Untuk mendorong lebih banyak kiriman, Anda masih dapat memposting jawaban dengan solusi hanya untuk salah satu program. Anda tidak akan bisa menang, tetapi Anda masih bisa memamerkan sesuatu yang keren.
Terima kasih kepada Calvin Hobbies karena mengilhami gagasan itu dengan pertanyaan sebelumnya .
code-golf
restricted-source
hmatt1
sumber
sumber
Jawaban:
Total: 53 karakter
Total dalam satu bahasa: 230 karakter, Pyth
Bagian 1: Golfscript, 15
Output:
Penjelasan:
Bagian 2: Pyth , 38
Output:
Penjelasan:
Solusi bonus:
Bagian 1: Pyth, 192
Penjelasan:
$"%\143"$
=> "% c".$
beralih ke dan dari gaya parsing Python, dan dalam string parsing Python,\143
adalah urutan pelarian oktal untukc
. Dengan demikian, jawaban ini setara dengan kode gaya Python berikut:Tentu saja, ini tidak berfungsi dalam Python, karena mencetak menggunakan Python
print
, tetapi mencetak dalam Pyth adalah implisit, jadi ia bekerja.Solusi Pyth tidak menggunakan salah satu fitur yang ditambahkan sejak pertanyaan diajukan.
sumber
Python (Simbol,
8782)Saya suka modul string Python ...
Edit:
Keluaran:
FALSE (Letters, 21)DUP (Letters, 20):Solusi SALAH:
Solusi DUP (1 char lebih pendek)
Output (untuk keduanya):
Penerjemah untuk FALSE.
Total: 102
sumber
from string import*
berfungsi sama baiknya dan mengurangi jumlah byte.*
dilarang dalam konteks ini ...from string import punctuation, digits
keduanya. Solusi bagus yang mengikuti aturan. Maaf tentang kesalahan saya!GolfScript (14 karakter) + Deadfish x (116 karakter) = 130 karakter
dan
sumber
Bagian 1 dan 2 di Ruby 2, 56 + 484 = 540
Bagian 1:
Untuk lebih lanjut tentang gaya Ruby ini, periksa narfnme .
Bagian 2 (bit ini hanya untuk Ruby 2.0+, berfungsi sempurna dengan ruby-2.1.0 tetapi dapat memberikan peringatan di versi sebelumnya):
Yang itu susah. Memanggil metode Fixnum built-in suka
chr
dansucc
membutuhkan membuka kelas Fixnum dan mendefinisikan ulanginspect
, karena saya dapat memicu panggilan untukx.inspect
dengannyap x
. Saya perlu memeriksa untuk kembalinil
sehinggap
hanya akan mencetak baris baru, string apa pun akan dibingkai dengan tanda kutip ganda. Tetapi sebagai efek samping, itu loop. Saya dapat mengakhiri loop pertama dan loop kedua menggunakan perbandingan string untuk melihat ketika saya telah mencapai rentang huruf, tetapi karena saya tidak dapat menulis string literal saya perlu mendapatkannya dengan memanggilString()
simbol yang dikembalikan (dalam Ruby 2) olehdef
kata kunci. Karena itu adalah sintaks multiline dan saya hanya bisa melakukan perbandingan string melaluicase
, yang tidak dapat mengambil ekspresi multiline, saya perlu membungkus literal dalam suatu metode (karena saya jelas tidak dapat melakukan tugas). Loop terakhir lebih sulit untuk diakhiri. Saya membutuhkannya untuk berhenti~
. Untungnya, dari karakter ascii dalam rentang itu,~
adalah satu-satunya yang dapat dipanggil pada Fixnum tanpa argumen tanpa memunculkan kesalahan, jadi saya dapat menggunakannyasend chr
untuk mendeteksi kapan saya di akhir dan berhenti mengulang.Bukan skor terbaik di utas ini, tetapi sejauh ini satu-satunya yang menggunakan bahasa yang sama untuk kedua bagian. Yay Ruby.
sumber
Bagian 2 dalam Applescript, 654
tunggu ... di mana halaman " tips untuk bermain golf di Applescript "?
Keluaran:
sumber
CJam + AlphaBeta , 62 byte
Surat, CJam , 12 byte
Cobalah online!
Keluaran
Bagaimana itu bekerja
Simbol, AlphaBeta , 50 byte
Cobalah online!
Penerjemah resmi C ++ memiliki bug yang membuat loop tidak mungkin dan saya tidak tahu bagaimana cara menggunakan juru bahasa Lua. Saya memperbaiki bug itu. Anda dapat memverifikasi bahwa itu berfungsi sebagaimana dimaksud dengan menjalankan contoh program dari halaman EsoLang.
Keluaran
Bagaimana itu bekerja
sumber
Bagian 1 di BrainFuck:
8074 bytesumber
>
karena lekukan kode yang hilang. Jadi itu diberikan sebagai kutipan.Total 318 byte
Saya benar-benar berharap untuk menemukan jawaban dengan kedua program dalam bahasa yang sama, tetapi sejauh ini tidak ada. Ini dia sebagai gantinya:
Bagian 1: Bash murni, 129 byte
Keluaran:
Bagian 2: GNU dc, 189 byte
Keluaran:
sumber
Nah, Anda tahu, seseorang harus melakukannya.
Bagian 1 di BrainFuck: 174 byte
sumber
Bagian 1: Ruby, 45 byte
Penjelasan
?@...?[
) dan Rentang yang mengandung AZ (?`...?{
) menjadi elemen dari array_
menggunakan operator percikan (*
)."@"
) dan 27th elemen ("`"
) dari array_
diatur kenil
._
digabung bersama menggunakanArray#*
dan dicetak ke stdout ($>
)sumber
*$_
di baris kedua denganp
(atau[]
).