Ini adalah polisi dan perampok jika Anda tidak terbiasa dengan format klik tag untuk pergi ke wiki. Tidak akan ada utas perampok untuk pertanyaan ini.
Polisi
Tugas Anda sebagai Polisi adalah memilih dua urutan dari Encyclopedia Online Integer Sequences dan menulis sebuah program yang menggunakan elemen ke-1 dari satu urutan sebagai input dan menampilkan elemen ke-n dari urutan kedua. Anda kemudian membuat jawaban termasuk kode dan menghilangkan urutan yang dipilih. Perampok akan berusaha menemukan urutan yang Anda pilih dan jika seseorang berhasil menemukan urutan yang ada dalam pikiran Anda atau beberapa urutan lain yang programnya Anda harus menandai jawaban Anda sebagai Retak . Jika seorang perampok memberi tahu Anda tentang celah yang Anda yakini tidak valid, Anda dapat memberikan bukti bahwa itu bukan celah. Kalau tidak, Anda harus menandainya begitu.
Sesuai jawaban biasa yang telah dipecahkan selama 7 hari memenuhi syarat untuk ditandai aman. Seorang Cop dapat menandai jawaban mereka dengan aman dengan mengungkapkan urutan yang ada dalam pikiran mereka. Setelah aman jawaban mungkin tidak lagi retak.
Tujuannya adalah untuk meminimalkan jumlah byte program Anda sambil tetap tidak terputus.
Contoh
Kode Python berikut menerjemahkan elemen ke- A dari A000290 (angka kuadrat) menjadi A000217 (angka segitiga):
lambda x:sum(range(0,int(x**.5+1)))
Ketentuan dan Persyaratan
Jika Anda memilih urutan yang belum terbukti terbatas, Anda harus menampilkan semua istilah yang mungkin ada, tidak hanya yang tercantum di halaman OEIS
Sebagai pengecualian untuk bahasa aturan sebelumnya tanpa bilangan bulat presisi tak terbatas tidak harus mengeluarkan atau memasukkan angka di luar jangkauan mereka.
Ukuran urutan input Anda harus tidak terbukti lebih kecil dari urutan output.
Urutan input Anda tidak boleh memiliki elemen berulang (jika tidak tugas ini sangat mustahil)
OEIS menyertakan indeks pada halaman mereka (angka pertama setelah tajuk "OFFSET") secara default, ini adalah offset Anda untuk n (n sama dengan indeks untuk elemen pertama pada urutan) jika Anda memilih indeks lain, Anda harus menunjukkannya di Jawaban Anda.
Jika Anda memilih offset berbeda dari yang tercantum pada OEIS, Anda masih harus memetakan semua elemen dalam urutan input Anda ke elemen yang sesuai dalam urutan output Anda.
Jika program Anda menerima input yang tidak ada dalam urutan input, ia dapat melakukan apa pun yang diinginkannya (perilaku tidak terdefinisi). Namun itu mungkin demi kepentingan terbaik Anda untuk masih menghasilkan bilangan bulat.
Ini tidak sportif untuk sengaja membuat kode Anda sulit dijalankan, baik dengan membuatnya menghabiskan waktu untuk mengeksekusi atau melalui pemilihan bahasa yang tidak bebas . Sementara saya akan menegakkan yang terakhir saya tidak bisa secara objektif menegakkan yang pertama. Namun saya mohon kepada Anda, demi kesenangan, untuk tidak mencoba yang pertama karena membuat tantangan khusus lebih sulit bagi mereka yang memiliki komputer yang lebih lemah.
Perampok
Tugas Anda sebagai Perampok adalah memilih jawaban yang tidak terpecahkan, tidak aman, dan menemukan urutan urutannya. Jika Anda menemukan solusi, solusi yang berfungsi (tidak harus solusi yang dimaksudkan oleh Polisi) mengomentari urutan jawaban yang sesuai.
Perampok tidak perlu terlalu khawatir tentang memverifikasi bahwa dua urutan tertentu adalah solusi, satu harus memposting solusi jika cocok dengan semua entri pada OEIS. Jika itu bukan urutan yang ada dalam pikiran polisi, polisi dapat menawarkan bukti bahwa itu tidak benar atau menandainya retak jika mereka tidak dapat menemukannya.
sumber
Jawaban:
Jelly , 14 byte (Retak oleh @Wolfram)
Cobalah online!
Seharusnya cukup jelas apa yang dilakukannya. Bahkan, untuk kepentingan pengguna non-Jelly, saya bahkan akan memberikan penjelasan:
Penjelasan
Pertanyaannya adalah, mengapa ia melakukan ini?
Retak
Urutan yang dimaksud adalah A201647 dan A201647 . Mereka terbatas, dan hanya berbeda dalam 2 elemen terakhir:
Jadi, jika inputnya rendah, saya membiarkannya tetap sama, dan saya cukup menyesuaikan fungsi dengan transformasi dari dua yang terakhir.
sumber
Jelly , 7 byte (Cracked oleh @JonathanAllan)
Cobalah online!
Apa yang dilakukannya
sumber
p
,ÆF
hasil(p,1)
, danÆd
hasil2
, sehinggaḅ
membuat kita2p+1
, yang berartiÆẸ
akan menghasilkan perdana pertama,2
, pangkat dari hasil itu,2^(2p+1)
.Python 3, 256 byte ( Retak! )
Cobalah online!
Maaf jika kode ini terlihat mengerikan, saya pikir ini adalah golf Python pertama saya. Casting dengan Python membuatnya lebih mudah untuk dikodekan.
sumber
q
?k
tampaknya tidak digunakan sehingga Anda dapat menyimpan beberapa byte dengan menghapusnya.Memproses , 184 byte, AMAN!
Fungsi yang mengambil int dan mengembalikan int. Selama nomor input masuk
int
jangkauan, program harus bekerja dengan baik.Ini tidak lambat, hanya tidak bisa dibaca. Semoga berhasil!
Saya terkejut pengiriman ini telah berlangsung selama ini. Oh well, setidaknya ini pengiriman aman pertama :)
A000578 hingga A000290
Dengan kata lain: kubus ke kotak.
Penjelasan
Saat menjawab Tidak ada string (atau angka) terlampir , saya menemukan daftar konstanta Pemrosesan yang mewakili int. Misalnya,
CORNER
memiliki nilai0
. Daftar lengkapnya dapat ditemukan di sini . Untuk menemukan nilai konstanta, Anda bisaprint
melakukannya.Menggunakan ini, saya memutuskan untuk menukar angka-angka tertentu dengan kombinasi konstanta ini untuk mengaburkannya. Jadi, inilah yang Anda dapatkan ketika Anda mengganti konstanta dengan nilai int masing-masing.
Bahkan sekarang, kode lengkap yang jelas tidak terungkap. Warnanya tersisa. Dalam Memproses, variabel warna memiliki nilai int, misalnya putih (
#ffffff
) adalah-1
,#fffffe
adalah-2
,#fffffd
adalah-3
, dan seterusnya. Ini dapat ditemukan denganprint
warna. Jadi mari kita sederhanakan warnanya.Kita hampir setengah jalan :) Untuk memahami nilai-nilai, kita perlu menyederhanakan ekspresi numerik.
Jauh lebih jelas! Sekarang mari kita sederhanakan logaritma.
Hampir selesai! Sekarang kita harus mencari
(int)sqrt(red(color(-65536))/16))
seteguk ini .color(-65536)
merah, jadirgb(255, 0, 0)
. Sekarangred()
fungsi mengembalikan nilai komponen merah dalam argumen (yang merupakan warna). Jadi berapa banyak merah yang ada di merah? Jawabannya adalah255
. Dengan itu kita dapatkanMengganti ini dalam program menghasilkan:
Yay, sudah selesai!
Singkatnya, ini mengembalikan kuadrat (dilakukan dengan mengalikan dua kali untuk-loop) dari akar pangkat tiga dari nomor input.
sumber
Mathematica (atau apa pun) - Cracked!
Saya tahu Mathematica adalah perangkat lunak tidak bebas, tetapi fungsi ini sepele untuk port ke bahasa favorit apa pun yang ingin Anda jalankan dari nilai itu dan nomor 42 digit pada baris terakhir. Misalnya,
f[100]
evaluasi ke-3024847237
.sumber