Kita semua tahu apa itu quine . Sebuah terbalik Quine adalah program non-kosong yang cetakan kebalikan dari kode sumber tanpa membaca kode sumbernya, dan hanya terdiri dari karakter yang dapat dicetak-ASCII (ruang angkasa melalui ~
).
Di sini, “kebalikan dari kode sumber” berarti yang berikut: output dari program Anda harus berisi setiap karakter ASCII yang dapat dicetak (m - c) kali, di mana c adalah berapa kali karakter tersebut muncul dalam kode Anda, dan m adalah maksimum berapa kali karakter diulang dalam kode Anda.
(Dengan kata lain: kode Anda + output Anda = permutasi m kali semua dicetak-ASCII.)
Misalnya, jika program Anda adalah 12345
, maka m = 1 , dan Anda harus mengeluarkan permutasi dari string ini:
!"#$%&'()*+,-./06789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Jika program Anda AAB
, maka m = 2 , dan Anda harus mengeluarkan permutasi dari:
!!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@BCCDDEEFFGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~
Perhatikan bagaimana ada dua yang hilang A
, dan satu hilang B
.
Meskipun sebuah program yang berisi semua karakter ASCII yang dapat dicetak dan tidak menghasilkan apa-apa adalah kueri terbalik yang valid (memuaskan m = 1 ), jawaban seperti itu tidak akan sangat kompetitif, mengingat panjangnya.
Anda harus menulis sebuah program yang merupakan quine terbalik, seperti yang dijelaskan dalam paragraf di atas. Karena ini adalah kode-golf , program terpendek dalam byte akan menang. Semoga berhasil!
sumber
duplicated for every repeated character in the source code
itu membuat semua perbedaan dalam tantangan11234512345
,?duplicated for every repeated character in the source code
artinya atau jika pengajuan valid untuk kriteria itu, karena OP belum membahas cukup banyak beberapa pertanyaan di sini.Jawaban:
Brain-Flak ,
221207 byteTermasuk +1 untuk
-A
Cobalah online!
sumber
[
lima kali, tidak setiap saat. Perhatikan bahwa2
hanya dihapus satu kali dalam contoh. Tantangannya agak membingungkan.+1
:)!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
abcdefghijklmnopqrstuvwxyz {|} ~ ` akan mendapatkan skor yang lebih baik: /CJam , 17 byte
Cobalah online!
Cetakan
Penjelasan
Tujuannya adalah untuk memodifikasi quine standar
sedemikian rupa sehingga tidak ada karakter yang diulang dalam program. Alasan untuk ini adalah bahwa CJam memiliki satu set operator yang berbeda yang dapat kita gunakan untuk menghapus karakter dari rentang ASCII yang dapat dicetak, tetapi tidak memperhitungkan jumlah kemunculannya. Menerapkannya dengan tangan mungkin akan lebih lama, jadi saya perlu memastikan bahwa setiap karakter muncul hanya sekali dan kita tidak perlu khawatir tentang kejadian.
sumber
Python 3 , 83 byte
Cobalah online!
Cetakan
-0.375 False
.sumber
05AB1E ,
956160 byte (bukan 58 b / c Saya tidak suka yang itu)Cobalah online!
Jawaban lama dibatalkan oleh "karakter-karakter ASCII saja", banyak perintah tidak valid di sini.
Ini mencetak
abcdefghijklmnopqrstuvwxyz012345678
satu kali karena tidak ada karakter yang digandakan.Versi dengan
BCDEFGHIKMNOPQRSTUVWXYZ
dihapus:Bekerja dalam proses ... Saya pikir ~ 60 byte serendah yang Anda dapatkan tanpa karakter non-ASCII di 05AB1E ..
05AB1E , 58 byte
Cobalah online!
Mencetak output x12 karena karakter yang berulang:
Itu juga tidak berakhir dengan benar, mengerjakannya sekarang ...
Jawaban lama yang tidak valid (karena karakter non-ASCII) telah dihapus, lihat edit riwayat.
sumber
Java 8,
10699190 bytesumber
i {
karena Anda sudah memiliki ruangclass i{/*!"#$%&'()+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`bdefghjkmnopqrtuvwxyz|~*/}
cukup? Ini berisi semua printable-ASCII dalam kode sumbernya, dan tidak menghasilkan apa-apa. Bagian " digandakan untuk setiap karakter yang diulang dalam kode sumber " berlaku untuk output, jadi meskipuns
digandakanclass
dan*
dan/
digandakan karena/* */
, menghasilkan empat kali tidak ada yang masih tidak berarti apa-apa.interface Z{}//!"#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY[\]^_`bdghjklmopqsuvwxyz|~
( 97 byte )Javascript (ES6),
103101 byteSolusi lama (menggunakan 103 byte
alert
)Solusi lama (tidak valid) (96 byte)
sumber
//
, yang berarti Anda harus menampilkan karakter yang dapat dicetak, dengan satu/
dihapus. (Saya pikir)