Ini adalah tantangan polisi dan perampok . Utas perampok ada di sini .
Pertanyaan menarik untuk dipikirkan adalah sebagai berikut:
Jika saya memiliki urutan angka, berapa banyak dari mereka yang harus saya berikan sebelum jelas urutan apa yang saya bicarakan?
Sebagai contoh jika saya ingin berbicara tentang bilangan bulat positif dalam urutan mulai dari , saya dapat mengatakan , tetapi apakah itu benar-benar cukup?1 , 2 , 3 , …
Saya punya satu cara untuk menjawab pertanyaan ini, dan menjadi pegolf-kode itu melibatkan golf kode. Anda telah memberikan ketentuan urutan yang cukup jika kode terpendek yang menghasilkan istilah tersebut menghasilkan semua ketentuan urutan tersebut. Jika kami memikirkan hal ini dalam hal kode-golf, ini berarti Anda telah memberikan cukup uji kasus sehingga kode terpendek yang lulus uji-kasus melakukan tugas yang diinginkan.
Tantangan
Tantangan ini adalah tantangan polisi dan perampok . Di mana polisi akan mempresentasikan kasus uji dan perampok harus menemukan cara yang lebih pendek untuk menipu kasus uji selain dari urutan yang dimaksud. Polisi akan menyajikan hal-hal berikut:
Sepotong kode yang mengambil integer non-negatif sebagai input dan menghasilkan integer sebagai output. Kode ini akan menentukan urutan Anda. Kode Anda tidak perlu mendukung 0 sebagai input, dan memilih untuk mengambil 1 sebagai input terkecil. Seharusnya jelas apakah ini yang terjadi dalam jawaban Anda.
Segala persyaratan platform atau bahasa yang relevan yang dapat memengaruhi output, misalnya ukuran longint.
Sejumlah , bersama dengan n pertama dari urutan yang dihitung oleh kode. Ini akan bertindak sebagai "kasus uji".n
Anda disarankan untuk menjelaskan apa yang dilakukan urutan Anda dan menautkan OEIS jika ada, namun kode Anda yang menentukan urutan bukan deskripsi.
Perampok akan menemukan program dalam bahasa yang sama yang lebih pendek dari yang disajikan dan melewati semua kasus uji (menghasilkan output yang sama untuk input pertama sebagai kode polisi). Kode perampok juga harus berbeda dalam output dari program polisi untuk beberapa nomor lebih besar dari .n
Polisi harus dapat memecahkan jawaban mereka sendiri sebelum mengirimkannya.
Setelah satu minggu, seorang polisi dapat mengungkapkan celah mereka dan menandai jawaban mereka sebagai Aman. Jawaban yang ditandai seperti itu tidak lagi dapat dipecahkan.
Mencetak gol
Jawaban polisi akan dinilai dengan jumlah byte dengan lebih sedikit byte menjadi lebih baik. Jawaban yang retak skor skor yang tak terbatas.
sumber
Jawaban:
cQuents , 4 byte ( Cracked )
Cobalah online!
Berikut ini delapan (
n=8
) kasus:Penjelasan kode:
Jadi urutannya adalah
1,2,3,4,5 ...
, ia bergabung""
sehingga menjadi12345 ...
, dan::
berarti ia mencetak hingga input.sumber
Python 3 ,
6657 byte ( Retak )retak oleh xnor
juga retak oleh Cat Wizard sebelum diedit
Cobalah online!
Halo! Berikut ini adalah urutan untuk memecahkan untuk . Ini memberi 40 elemen pertama ini dengan pengindeksan 0, itu bukan urutan OEISn = 40
sumber
Python 2 , 44 byte ( retak )
Cobalah online!
Bilangan prima. Urutan apa yang lebih murni? Atau lebih berlebihan ? Tujuan Anda adalah untuk menghasilkan 50 bilangan prima pertama bagi
n=1
untukn=50
.Kode tersebut adalah generator Teorema Wilson yang disalin tepat dari tip ini .
Nilai yang berbeda untuk urutan alternatif bukan karena keterbatasan alat berat seperti luapan dan presisi. Tidak ada perpustakaan pihak ke-3.
Retak oleh Arnauld, @PoonLevi, dan Mr. Xcoder.
sumber
Bahasa Wolfram (Mathematica) ,
3934 byte (Aman)Cobalah online!
Terlihat sederhana, solusinya harus sulit.
1-diindeks dan . Urutan ini tidak tersedia di OEIS.n = 99
Daftar di atas sama dengan:
Inilah templat untuk memeriksa solusi Anda: Coba online!
Retak yang Dimaksudkan
sumber
Haskell , 29 byte (Retak: 1 , 2 )
Cobalah online!
Ini adalah A093005 : .a ( n ) = n ⌈ n2⌉
Test case untuk , yaitu :0 ≤ n ≤ 20
map a [0..20]
Solusi yang dimaksudkan (20 byte)
Cobalah online! Berbeda pada , dengan a ( 23 ) = 276 dan b ( 23 ) = 253 .n = 23 a ( 23 ) = 276 b ( 23 ) = 253
Fungsi ini setara dengan . Berkat plafon, kedua fungsi tumpang tindih untuk argumen integer dalam rentang dari 0 hingga 22 :b ( n ) = n l e n ( 3 n) = N ⌈ l o g10( 1 + 3n) ⌉ 0 22
sumber
sumber
JavaScript (ES6), 12 byte ( Retak )
Yang ini agak mudah.
Cobalah online!
Ini A139275 :
Kode Anda harus mendukung :0 ≤ n < 9
Dan sesuai aturan tantangan, itu harus berbeda.
sumber
n=>8*n*n+n
berbeda untukn=94906273
, apakah ini celah yang valid?n=9
.|
bukannya+
)Malbolge, 10 byte
Perhatikan bahwa kode berakhir dengan byte 0x14 (kontrol perangkat 4).
Cobalah online!
Urutan 0-diindeks untuk retak adalah
[9, 19, 29]
.sumber
> <> , 276 byte ( Retak )
Cobalah online! Sebut yang ini dengan
-v n
untuk mendapatkan elemen ke-n (1-diindeks)Cobalah online! Panggil dengan
-v n
untuk mendapatkan daftar elemen n-1 mulai dari 1Penerjemah Ikan Online
Yang panjang dan kompleks, ini adalah OEIS A004000 .
sumber
n
(seperti yang dipersyaratkan oleh pertanyaan)?Jelly , 6 byte , Aman!
Ini mendefinisikan urutan tanpa indeks di mana:
1,1,1,2,2,3,4,5,6,7,8,9,10,11,12,13
Cobalah online! (di sini adalah versi nilai tunggal)
Ini saat ini tidak ada dalam OEIS (meskipun A34138 akan berfungsi sebagai celah jika cukup pendek)
Retak yang Dimaksudkan
sumber
JavaScript, 26 byte ( Retak )
OEIS A007660
Output adalah 6 elemen pertama dengan 0 pengindeksan (1,1,2,3,7,22)
(agak bergeser dari apa yang terdaftar sebagai OEIS)
Hanya menciptakan jawaban yang mudah dipecahkan untuk memulai sesuatu
Cobalah online!
sumber
JavaScript, 16 byte ( Retak )
Input yang diperlukan untuk mencocokkan adalah 0,1,2,3,4.
Cobalah online!
sumber
APL (Dyalog Unicode) ,
1715 byteCobalah online!
13 istilah pertama (berbasis 1) adalah:
Petunjuk: Solusi yang dimaksud menggunakan salah satu fungsi bawaan yang paling jarang digunakan.
sumber
Sekam , 5 byte ( dipecahkan oleh Jonathan Allan )
Cobalah online!
Penjelasan
Larutan
sumber
JavaScript, 25 byte ( Retak 21 byte)
Urutan 7,11,12,13,13 diikuti oleh infinite 14s.
Solusi yang dimaksudkan 22 byte:
Cobalah online!
sumber
JavaScript, 22 byte ( Retak )
Ini 0 indeks dan akurasi diperlukan hingga input 15. Tidak dapat ditemukan di OEIS
Solusi saya 20 byte
Cobalah online!
sumber
> <> , 42 byte, retak
Cobalah online!
Sequence to crack (0-diindeks):
101786, 5844, 19902
(bukan pada OEIS).Solusi yang dimaksudkan , untuk referensi.
sumber
4
Perl 6 , 53 byte
Cobalah online!
Blok kode anonim yang mengembalikan urutan Kolakoski yang diindeks 0 ( OEIS A000002 ). Solusi diperlukan untuk mencocokkan 130 elemen pertama, sehingga untuk beberapa
n > 129
itu berbeda dari urutan Kolakoski.sumber
Pascal (FPC) , 86 byte ( retak )
Cobalah online!
Solusi asli saya adalah
tapi r_64 membuatnya lebih baik !
sumber