Ini adalah tantangan polisi dan perampok , utas perampok dapat ditemukan di sini .
Tugas Anda adalah menulis beberapa kode yang menghasilkan urutan OEIS, dan berisi nama urutan dalam kode ( A______
) dan menampilkan urutan terpisah kedua ketika nama urutan dalam kode diubah ke nama urutan kedua.
Berikut ini contoh di Haskell yang bekerja untuk A000217 dan A000290 .
f x|last"A000217"=='0'=x^2|1>0=sum[1..x]
Anda kemudian akan mengungkapkan salah satu dari dua urutan, dan kode menjaga kerahasiaan urutan kedua. Perampok akan berusaha mencari tahu apa urutan tersembunyi itu. Jika perampok berhasil menentukan apa urutan Anda (atau urutan lain yang sesuai dengan kriteria) Anda menjawab retak. Jika tidak ada yang melakukannya dalam seminggu jawaban Anda diposting, Anda dapat menandai jawaban Anda sebagai Aman dan mengungkapkan solusi yang dimaksudkan untuk verifikasi. Jawaban aman tidak dapat dipecahkan.
Input output
Diambil dari sini
Kode Anda dapat berupa fungsi atau program lengkap yang mengambil n melalui metode input standar dan menghasilkan urutan ke- n dari urutan yang diindeks oleh indeks yang disediakan pada halaman OEIS.
Anda harus mendukung semua nilai yang disediakan dalam file OEIS b untuk urutan itu, nomor apa pun yang tidak ada dalam file b tidak perlu didukung.
Mencetak gol
Skor Anda akan menjadi jumlah byte dalam kode Anda, dengan lebih sedikit byte yang lebih baik.
sumber
Jawaban:
Python 3, 59 byte, A162626 , dipecahkan oleh Wheat Wizard
Ini
adalahseharusnya tidak mungkin, bukan?sumber
Python 3 , 62 byte, A017016 ( Retak )
Cobalah online!
sumber
Japt , 13 byte ( Retak )
Ada (setidaknya) satu solusi lain, jika ada orang lain yang mau menikamnya.
Cobalah online
A000012
Penjelasan
sumber
(sum_of_numbers_in_oeis(excluding 'A') + 1)%4
. : DMATL ,
3029 byte ( Retak )A077430
Cobalah online!
-1 byte berkat @Sanchises
sumber
I
selama 1 byte.I
diinisialisasi ke 3l
(satu) danO
(nol), Anda seharusnya hampir tidak perlu menggunakan spasi dalam program MATL Anda. Pada catatan terkait, periksa juga Tabel 7, yang mengandung banyak konstanta standar yang bermanfaat (walaupun waspadalah karena4X2Z%
memiliki steno1Z%
)C #, 28 byte ( Retak )
Bekerja dengan A000290 .
Cara mudah untuk memulai ini.
Cobalah online!
sumber
Python 2, 43 byte, A000079 ( Retak )
Cobalah online
sumber
C #, 75 byte, ( Retak )
A000244
Cobalah online!
sumber
% 2
- sehingga program ini hanya dapat melakukan dua hal , tergantung pada hasilnya: satu untuk0
dan satu untuk1
. Jadi saya menempatkan angka ganjil di tempatnya, dan tantangannya agak retak sendiri.Python 2 , 53 byte, A000012 [retak]
Cobalah online!
sumber
Python 3, 65 byte, A000027, retak
Yay aritmatika gila!
sumber
n=12
yang terlihat benar, tetapi hasilnya akan dimatikan oleh satu indeks - apakah saya retak dengan bug atau jatuh untuk ikan merah yang sangat pintar?a(n) = floor(n/2)
; urutan yang tercantum dimulai dengan 0. Namun, itulah solusi yang dimaksudkan.Smalltalk, 148 byte, aman!
A018253
Mengambil integer sebagai input, urutannya berbasis 1.
sumber
Haskell, 226 byte, aman!
Tidak yakin apakah pintar atau jelek, mungkin keduanya ...
Jadi sekarang ini menghitung A001906 , tetapi seharusnya dapat menghasilkan banyak urutan.
Cobalah online!
Solusi: A131078
Ingin tahu apakah ini terlalu sulit atau tidak ada yang mencoba?
o 1
untuko 6
adalah digit nomor seri,m
adalah daftar operasi.l
adalah daftar tak terbatas yang didefinisikan secara rekursif dengan dua nilai pertama yang berasal dari nomor seri dan yang tersisa dihitung dari dua sebelumnya menggunakan operasi tetap darim
. Dalam kasus A001906, definisi dapat disederhanakan(flip(+))
adalah (biasanya) sama dengan(+)
, dan kami mendapatkan definisi bilangan Fibonacci yang terkenal (tapi bukan yang terpendek). Skema rekursi ini dapat secara langsung menghitung A001906, tetapi itu membutuhkan operasi yang lebih rumit daripada yang ada dim
. Contoh lain: menggunakan nilai awal1
dan2
dan operasi(*)
memberikan seri A000301 . Itu dihitung oleh kode kami ketika nomor seri diganti dengan?103206
.Akhirnya, fungsi
f
indeks ke dalam daftarl
, tetapi hanya setelah beberapa transformasi input. Untuk A001906, bagian tengah dikurangi menjadi(*)2
, sehingga kami hanya mendapatkan angka Fibonacci di posisi genap. Bagian yang tepat menjadiflip const 1
, yang merupakan fungsi identitas dan tidak ikut campur lebih jauh.Untuk solusinya
A131078
, nilai-nilai mulai daril
yang1
dan0
, dan operasi adalahflip const
, yang memungkinkanl
menjadi1,0,1,0,...
. Bagian tengahf
menjadi(flip div 4)
, menghasilkan1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,...
. Ini tampak seperti jawaban yang bagus, tetapi kemudian saya melihat bahwa A131078 dimulain=1
, jadi saya menambahkan bagian yang tepatf
, yang di sini adalahflip(-)1
untuk mengurangi satu.Gagasan saya adalah membuatnya agak dikaburkan dengan menggunakan
m
dan mengindeks ke dalamnya dengan angka dari angka seri, kemudian menjadi lebih dikaburkan (istilah rumit) untuk membuatnya bekerja (mungkin saya tidak mencari cukup lama untuk alternatif); dan kemudian menjadi lebih membingungkan (bagian kanan darif
) untuk membuatnya benar-benar berfungsi. Masih saya pikir beberapa menebak dan mencoba bisa memecahkannya.sumber
0
. Itu baik-baik saja karena baru dimulai1
! Mulai dari1
juga harus menghapus beberapa kesalahan "pembagian dengan nol". Saya terkejut dengan contoh-contoh yang berjalan selamanya. Mungkin transformasi indeks menciptakan nilai yang sangat besar dalam kasus ini ...dc , 52 byte, retak
Yang ini bekerja dengan A000217 :
Cobalah online!
sumber
Python 3.6, 114 byte, retak
A005843
g(n)
mengembalikan nilai ke-n dari urutan untuk n> = 0.random.choices(s,k)
baru dalam Python 3.6, ia mengembalikank
item yang dipilihs
dengan penggantian.sumber
Chip , 67 byte, dipecahkan oleh Yimin Rong
A000012 . Agak kurang ajar, ya.
Cobalah online!
Menggunakan byte untuk i / o, jadi saya bagus dan membuat pembungkus bashy / pythony.
.
sumber