Tugas Anda sebagai polisi adalah memilih tiga hal:
Bahasa pemrograman
Urutan OEIS
Satu set byte
Anda kemudian secara diam-diam menulis sebuah program dalam bahasa itu yang menghitung urutan istilah ke-n hanya menggunakan byte dalam set. Anda akan mengungkapkan ketiga informasi tersebut sehingga perampok dapat mencoba mencari tahu programnya.
Jawaban akan dicetak dengan jumlah byte dalam set byte dengan skor yang lebih baik. Jawaban yang retak memiliki skor 0. otomatis. Jika jawaban Anda tidak terpecahkan setelah satu minggu, Anda dapat mengungkapkan program yang dimaksud dan menandai jawaban Anda sebagai "aman".
Jawaban harus mampu menghitung setiap istilah dalam file-b dari urutan, tetapi tidak diharuskan untuk menghitung istilah apa pun setelahnya.
Urutan dapat diindeks 1 atau 0 untuk polisi dan perampok.
Berikut ini adalah Skrip Python yang memeriksa apakah kode Anda cocok dengan set byte yang diberikan.
sumber
A
dengan ab
dan menambahkan a.txt
. Misalnya oeis.org/b4.txt akan mengakses file-b untuk urutan itu.Jawaban:
Haskell , A209229 , ( retak )
11 karakter (termasuk baris baru):
Output Benar / Salah sebagai fungsi indikator untuk kekuatan 2:
Input adalah bilangan bulat positif.
sumber
Python 2 , A000045 ( Retak )
ini berisi spasi putih dan baris baru
Cobalah Online!
Solusi yang dimaksudkan
sumber
+
sama sekaliplus
berhasil?sum
akanHaskell, A000045 ( retak )
Saya mengambil keputusan, saya pikir saya
t
lebih sukas
.Jadi mari kita gunakan 30 byte ini (termasuk baris baru) sebagai gantinya:
Harap dicatat bahwa deskripsi tantangan umum menuntut itu
Dalam hal ini, file-b naik ke angka 2000, yang jauh melampaui apa yang dapat dihitung menggunakan
Int
.sumber
Oktaf, A000290 , Retak !
Urutannya adalah angka kuadrat: 0, 1, 4, 9, 16, 25, 36, 49 ... (sehingga Anda tidak perlu memeriksa tautannya).
sumber
Haskell, A000045 ( Retak )
Semua orang suka angka Fibonacci, saya suka Haskell ...
Saya telah dengan hati-hati memilih 30 byte untuk Anda: huruf kecil kecuali
f
,i
dant
, Anda mendapatkan huruf besarF
danT
dan simbol pipa|
sebagai gantinya, dan tiga simbol=()
, dan baris baru. Ini mereka lagi:sumber
Haskell, A034262 , 43 byte, retak
!"#%',.=?ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_{|}~
Menghitung
a(n) = n³ + n
.sumber
Int
cukup baik?Haskell, A009056 ( retak )
Satu lagi sederhana, sekarang lagi dengan cukup surat untuk membuatnya terlihat seperti Haskell biasa dan mungkin bagi Anda untuk membuat saya takjub dengan menemukan solusi yang sama sekali berbeda dari milik saya.
Urutannya adalah Bilangan> = 3 dan rangkaian karakter terdiri dari 30 byte ini:
Retak memiliki beberapa teknik yang bagus. Saya hanya memikirkan ini:
sumber
C (C99), A000005 , 25 Bytes #, Retak!
Ini adalah byte untuk masalah penuh, mengambil n sebagai argumen baris perintah dan output menjawab stdout. (Spasi termasuk dalam bytecount).
sumber
Unary , A002275 , 1 Byte
Set byte:
Setidaknya saya harus mencobanya: 3
(Saya tidak berpikir itu akan sangat sulit dilihat karena setiap perintah dalam bahasa tersedia)
sumber
Perl 5, A000030 ( Retak )
Set byte:
Cobalah online!
sumber
JavaScript (ES6), 17 byte, A000290 ( Retak )
Sekali lagi, ini adalah urutan kuadrat sederhana a (n) = n 2 .
Set byte:
sumber
Hexagony , A057077 , 77 byte
Urutan berkala
1, 1, -1, -1
. Sebagai daftar:Kumpulan karakter (diedit), yang mencakup baris baru dan karakter spasi:
Cobalah online!
sumber
Haskell, A000045 ( retak )
Itu retak, dan saya tidak akan memulai versi baru, tetapi jika Anda ingin bermain lebih banyak: itu mungkin tanpa
y
, dan itu mungkin untuk menjadi efisien.Saya minta maaf karena memimpin Anda ke arah yang salah dengan memberikan a
g
. Mari kita lakukan hal yang sama tanpa!Berikut adalah 29 byte tersisa (termasuk baris baru):
Sekali lagi, ingat bahwa
Int
tidak akan cukup untuk menghitung angka Fibonacci 2000 yang diperlukan karena ada dalam file-b.sumber
Haskell, A000045 ( retak )
Ini kindof (seperti yang diumumkan) bukan versi baru, tetapi sangat berbeda. (Kanan?)
Saya masih berharap saya bisa membuat Anda menemukan kembali pengamatan kecil saya yang bagus.
Kali ini Anda diminta untuk mengimplementasikan deret Fibonacci menggunakan charset ukuran 17, yang (sejauh yang saya tahu) hanya berisi
satudua chars yang tidak dibutuhkan:Perhatikan bahwa tidak ada baris baru (tetapi jangan ragu untuk menampilkan versi yang membuatnya mudah dibaca) dan ingat bahwa Anda harus dapat menghitung angka Fibonacci ke-2000.
sumber
Cubix, A000027 (SAFE) 17 poin
Solusi saya:
tonton online di sini
Saya awalnya melakukan ini tanpa
.NSQ
tetapi saya pikir saya bisa menambahkannya dengan aman.Penjelasan:
Urutan ini hanya "The Positive Integers". Namun, Cubix memiliki tiga perintah input
i
,, yang bertuliskan dalam satu karakter (mendorong-1
jika input kosong),A
yang bertuliskan pada sisa input sebagai karakter (mendorong a-1
ke sisi bawah tumpukan), danI
, yang membaca nomor berikutnya dari input (mendorong0
jika tidak ada kecocokan). Jadi secara alami, saya hanya menyediakani
yang dibaca dalam digit sebagai nilai ascii mereka. uh oh. Selain itu,-1
adalah penanda yang biasa untuk akhir input, dalam hubungannya dengan?
jadi saya menyingkirkan?
, memaksa saya untuk menggunakan!
(lewati instruksi berikutnya jika TOS tidak nol) untuk aliran kontrol. Akhirnya, saya pikir saya perlu&
menyatukan angka untuk dicetakO
(yang menampilkan bagian atas tumpukan sebagai angka), tetapi saya menyadari sekarang bahwa itu juga tidak perlu!Bagian lain dari tantangan pada awalnya adalah tidak memiliki
.
karakter larangan, tetapi Anda dapat menggunakan pasangan!
bukan jika Anda berhati-hati:i)
: baca input, selisih.!/
: jika puncak tumpukan adalah nol (ujung input), belok kirikiri::
;O.@
pop-up tumpukan, keluaran sebagai angka, berhentijika tidak:
u'0
: dorong kode char0
ke atas tumpukan)-r
: increment, kurangi, dan putar;;
: pop top of stack dua kaliu&
: digit gabungan!!
: net zero effect, sekarang kitai)
kembali.sumber
.
tetapi itu bisa dilakukan tanpa itu.Seed , A005408 (Nomor Ganjil) - Aman
Inilah yang sedikit lebih menantang. Anda dapat menggunakan karakter apa pun yang valid di Seed:
Anda seharusnya tidak bisa memaksakan kekerasan ini dalam satu minggu kecuali Anda memiliki monster komputer. Semoga berhasil! Itu mudah retak.
Petunjuk
Larutan
sumber
Python 2 , A000045 ( Retak )
ini berisi spasi putih dan baris baru
Cobalah Online!
Solusi yang dimaksudkan
sumber
R, A000142 , ( Retak )
Set byte:
Solusi yang dimaksudkan:
sumber
cQuents , A000027 , Retak
Betul sekali! Anda mendapatkan semua ASCII! Tunggu ... tidak ada
$
... apa$
lagi yang ada di cQuents? Oh, ya, indeks sudah tertanam. Yah, keberuntungan: /Solusi yang Dimaksud:
Cobalah online!
sumber
CJam, A000042 , dipecahkan oleh Lynn
Set byte:
sumber
Ruby , A000004 , 5 byte, Retak
Hanya main-main untuk memulai. Seharusnya mudah bagi siapa pun yang terbiasa dengan Ruby. Ini skor rendah, tapi terserahlah.
Eksploitasi retak, tidak disengaja
Retak (jawaban yang dimaksudkan menggunakan
n
bendera)sumber
n
bendera (yang merupakan alasannya dalam urutan byte, dan akan menjadi$.
sama dengan 1)Python 3, A007504 ( Retak )
Byteset ini, termasuk baris baru:
Kode saya tidak memberikan output tanpa batas, tetapi dapat menghitung seluruh daftar-b.
sumber
.
:(R, A000290 , ( retak )
Set byte:
sumber
c
, tapi segalanya untuk apafunction
? Mengerikan sekali. Saya tahu bagaimana melakukan ini kecuali membaca masukan ...a
menjadi ac
. Maaf.Snowman , 212 byte, A000042
... ditambah ruang, inklusif 0x00-0x1f, dan inklusif 0x7f-0xff .
sumber
cQuents , A000217 , Retak
Byteset:
Perhatikan bahwa ini menggunakan fitur yang belum saya dorong dokumentasi, jadi saya akan mendorongnya malam ini, jika Anda menunggu sampai saat itu. (Atau Anda dapat membaca kode sumber saya ... bersenang-senang).Dokumentasi didorong. Akan lebih sedikit satu byte jika perbaikan bug baru-baru ini di TIO.Solusi yang dimaksudkan:
Cobalah secara Online!
sumber
JavaScript (ES6),
1310 byte, A000045 , RetakIni seharusnya mudah.
Ini adalah urutan Fibonacci: F (n) = F (n-1) + F (n-2) dengan F (0) = 0 dan F (1) = 1.
Set byte:
Edit:
Itu bahkan dapat dilakukan dengan 10 byte berikut:
sumber
R, A105311 , ( Retak )
Set byte:
sumber
Python3, A008615 , Retak
Bytemap (dengan baris baru):
sumber
Befunge , A000142 , 29 Bytes, ( Retak )
Jika Anda tidak tahu, set Byte itu termasuk spasi.
Ini harus cukup mudah dipecahkan.
Sunting: Lupa "A" sebelum OEIS
sumber
R, A105311 , ( retak )
Mari kita coba ini tanpa
l
atauo
.Karena ini telah retak, solusi yang dimaksudkan:
sumber
%o%
sebelum saya menyadari itu%x%
ada. Saya kira saya bisa melakukan'i'=='i'
untuk1
tapi cara baik bekerja, jadi.