Buat program yang menghasilkan sendiri.
Namun, jika kode sumber diulang n kali (artinya menyatukan salinan kode sumber hingga akhir n-1 kali) , maka harus ada 1 / n probabilitas mengeluarkan kode sumber asli, probabilitas 1 / n probabilitas menghasilkan kode sumber diulang dua kali, probabilitas 1 / n untuk menghasilkan kode sumber diulang tiga kali, ..., dan probabilitas 1 / n untuk mengeluarkan kode sumber n kali.
Misalnya, jika program Anda foobar
, maka itu harus selalu tepat foobar
. Namun, jika Anda menjalankan foobarfoobarfoobarfoobar
, maka harus ada ¼ kesempatan masing-masing keluaran foobar
, foobarfoobar
, foobarfoobarfoobar
dan foobarfoobarfoobarfoobar
.
- Distribusi setiap output yang mungkin harus sama
- Selain menerapkan metode I / O standar dan lubang standar terlarang, aturan quine standar berlaku (tidak dapat mengakses sumbernya sendiri, dll.)
- Ini kode golf sehingga jawaban terpendek dalam byte menang
foobarfoobar
) maka itu hanya akan mencetakfoobar
foobarfoobar
inifoobar
diulang dua kali, tidak sekali.Jawaban:
Perl 5 ,
8280 byteCobalah online! atau Test suite
sumber
Jelly ,
2422 byteCobalah online!
Cobalah x4!
sumber
05AB1E , 32 byte
Cobalah online!
Penjelasan
sumber
Gol> <> , 21 byte
Cobalah online!
Penjelasan:
sumber
Alice , 35 byte
Cobalah online!
Penjelasan
Seperti banyak quine dalam bahasa 2D, ini dimulai dengan
"
yang membungkus dirinya sendiri dan mendorong seluruh baris pertama kecuali"
dirinya sendiri.Menambahkan satu atau lebih salinan tambahan dari kode sumber akan menempatkan beberapa ruang implisit di akhir literal string. Untuk menjadikannya quine, kami memotong 31 karakter.
Dorong baris baru, lalu tinggi tumpukan tiga kali. Nilai yang didorong sebagai ketinggian tumpukan adalah 32 (spasi di baris kedua), 33 (
!
di baris kedua), dan 34 (awal"
).Dorong tinggi tumpukan lagi, kali ini sebagai panjang kode sumber asli (35).
Inisialisasi penghitung di 1. Ini akan menghitung berapa kali kode sumber diulang.
Belok kanan tiga kali pada tempatnya (yaitu, belok kiri). Setiap pengulangan tambahan dari kode sumber akan berkontribusi
h
dalam kolom yang sama dengan ini}
, sehingga menambah penghitung. Ketika IP kembali ke}
, belok kanan lagi untuk melanjutkan ke arah yang sama.Ambil angka acak seragam dari 0 hingga n-1, lalu tambahkan 1 untuk mendapatkan berapa kali untuk mengeluarkan sumber aslinya.
Kalikan dengan tinggi tumpukan yang didorong sebelumnya (panjang kode), lalu ulangi yang berikut berulang kali dengan mendorong alamat pengirim yang berkali-kali minus satu.
Keluarkan bagian atas tumpukan tanpa merusaknya.
Pindahkan entri tumpukan bawah ke atas.
Ulangi, lalu akhiri setelah loop selesai.
sumber
JavaScript (Node.js) , 62 byte
Cobalah online!
sumber
Arang , 58 byte
Cobalah online! Tidak ada versi verbose karena deverbosifier saat ini tersedak
"´"
. Sebagian besar didasarkan pada arang quine dari Golf Anda quine untuk kebaikan! . Penjelasan:Tetapkan string literal
θ⎚×⊕‽L⊞Oυω⁺⪫⁺´≔θ´´θ
keθ
.Bersihkan output sebelumnya, sehingga hanya output terakhir yang berlaku.
Dorong string kosong ke array yang telah ditentukan. Ini membuat panjang array sama dengan jumlah pengulangan yang diproses sejauh ini, jadi ambil panjangnya, ambil nomor acak rentang eksklusif implisit, tambahkan 1, dan ulangi string berikut berkali-kali.
Tambahkan string literal
≔
keθ
, lalu masukkan literal´
s antara masing-masing karakter, lalu sufiks salinan lain dariθ
.sumber