Diberikan string, kembalikan apakah string tersebut adalah substring dari kode sumber program.
Aturan quine standar berlaku, artinya Anda tidak dapat membaca kode sumber Anda sendiri. Panjang input dijamin kurang dari atau sama dengan panjang program. Anda dapat mengembalikan dua nilai berbeda, belum tentu nilai benar dan salah. Anda juga dapat mengirimkan fungsi, bukan program lengkap.
Ini adalah kode-golf sehingga kode terpendek menang!
Sebuah contoh
Jika kode sumber Anda print(input() = False)
, itu harus mengembalikan Benar untuk nt(i
tetapi Salah untuk tupn
.
code-golf
decision-problem
quine
caird coinheringaahing
sumber
sumber
Jawaban:
Python 2 , 41 byte
Cobalah online!
sumber
JavaScript , 25 byte
Cobalah online!
Saya pribadi bukan penggemar ini, tetapi diizinkan .
Solusi alternatif (tidak valid?), 19 byte
Ini mengambil input sebagai regex.
Cobalah online!
sumber
(Node.js)
? Apakah itu tidak berfungsi di browser juga?Java 8,
124112 byte (fungsi)Coba di sini.
Ini dia sebagai program penuh sebagai gantinya (untuk melihat salah satu alasan mengapa fungsi diizinkan pada PPCG, karena beberapa bahasa - seperti Java - memerlukan kode verplose wajib wajib untuk program penuh).
Java 8,
226214 byte (program penuh)Coba di sini.
Penjelasan:
String s
berisi kode sumber yang tidak diformat.%s
digunakan untuk memasukkan String ini ke dalam dirinya sendiri dengans.format(...)
.%c
,%1$c
dan34
digunakan untuk memformat tanda kutip ganda.s.format(s,34,s)
menempatkan semuanya bersama-sama.Dan kemudian
.contains(...)
digunakan untuk memeriksa apakah kode sumber ini berisi input yang diberikan.sumber
Bash,
43, 28 bytecoba online
sumber
typeset
format seperti AFAICT ini. Cobalah online!$1
harus dilakukanHaskell , 92 byte
Cobalah online! Perpanjangan jelas dari quine standar. Menyingkirkan impor akan menyenangkan, tetapi saya ragu
isInfixOf
dapat dihitung dalam jumlah byte yang lebih pendek.sumber
Bahasa Wolfram (Mathematica) , 33 byte
Cobalah online!
sumber
QBIC , 28 byte
Ini mencetak 0 jika input bukan substring dari sumber, dan X sebaliknya X adalah indeks substring (pertama).
Penjelasan
#
mendefinisikan string literal dalam QBIC, dan menetapkannya ke variabel string pertama yang tersedia. Itu adaB$
di program ini, karenaA$
sudah diambil oleh;
(baca string dari cmd line). Kemudian, semuanya hingga pembatas dimasukkan ke dalam literal; pembatas adalah backtick - yang juga menjadikannya satu-satunya karakter ASCII yang tidak termasuk dalam string lits. Dalam hal ini, QBIC tidak memerlukan backtick, karena literal diakhiri di akhir kode oleh fitur penutupan otomatis QBIC. Untuk informasi lebih lanjut tentang literal QBIC, lihat utas Showcase .sumber
A
dalam konteks ini?B
dan penjelasan ditambahkan.Jelly , 10 byte
Cobalah online!
Bagaimana itu bekerja
sumber
Julia, 72 byte
Saya sekarang mengerti apa yang orang maksud ketika mereka mengatakan bahwa masalah quine hanyalah variasi dari quine klasik.
Penjelasan
sumber
Perl 5, 60 + 2 (-pl) byte
coba online
sumber
05AB1E , 17 byte
Modifikasi quine default
0"D34çý"D34çý
dengan menambahkanIå
.Cobalah online.
Penjelasan:
sumber