Ini adalah utas polisi. Utas perampok ada di sini .
Yang terakhir polisi dan perampok benang sudah 4 bulan yang lalu .
Tugas polisi
- Tugas polisi adalah menulis program / fungsi yang mengambil bilangan bulat positif (atau non-negatif) dan mengeluarkan / mengembalikan bilangan bulat lainnya.
- Polisi harus menyatakannya jika program tidak toleran terhadap nol.
- Polisi akan menyediakan setidaknya 2 sampel input / output.
- Misalnya, jika saya memutuskan untuk menulis deret Fibonacci , saya akan menulis ini dalam jawaban saya:
a (0) mengembalikan 0 a (3) mengembalikan 2
- Jumlah contoh tergantung pada kebijaksanaan polisi.
- Namun, urutannya harus benar-benar ada di Ensiklopedia On-Line dari Integer Sequences® , jadi tidak ada pembangkit angka pseudo-acak untuk Anda.
:(
- Polisi dapat menyembunyikan karakter sebanyak yang diinginkan.
- Misalnya, jika program saya adalah:
function a(n)
if n>2 then
return n
else
return a(n-1) + a(n-2)
end
end
- Maka saya akan menyembunyikan karakter ini seperti yang saya inginkan:
function a(n)
if ### then
########
else
######################
end
end
Tugas perampok
- jelas untuk menemukan kode sumber asli.
- Namun, setiap kode sumber yang diusulkan yang menghasilkan set output yang sama juga dianggap valid, asalkan juga ditemukan di OEIS.
Kiat untuk polisi
Fungsi pencarian di OEIS hanya berfungsi untuk istilah yang berurutan, jadi jika Anda ingin menyembunyikan urutan Anda, maka tinggalkan lubang di mana saja.- Tampaknya tidak ada cara untuk menyembunyikan urutannya. Ingatlah hal ini ketika Anda memilih urutannya.
Skor Anda adalah jumlah byte dalam kode Anda.
Pemenang akan menjadi pengajuan dengan skor terendah yang belum di-crack dalam 7 hari.
Hanya kiriman yang diposting pada 2016 April yang memenuhi syarat untuk menang. Kiriman yang dikirim lebih lambat dari ini dipersilahkan, tetapi tidak dapat menang.
Untuk mengklaim kemenangan, Anda perlu mengungkapkan kode lengkap dan urutan OEIS (setelah 7 hari).
Posting Anda harus diformat seperti ini (NN adalah jumlah karakter):
Lua, 98 byte
Keluaran:
a(0) returns 0
a(3) returns 2
Kode ( #
menandai karakter yang tidak terungkap):
function a(n)
if ### then
########
else
######################
end
end
Jika kode ini retak, masukkan [Cracked](link to cracker)
di header. Jika pengiriman aman, masukkan "Aman" di header dan mengungkapkan kode lengkap dalam jawaban Anda. Hanya jawaban yang telah mengungkapkan kode lengkap yang memenuhi syarat untuk menang.
sumber
_
, fyia(1000)
? (yang merupakan bagian dari urutan, tetapi terlalu besar untuk dapat dicari di OEIS)Jawaban:
Vim, 36 penekanan tombol - Aman!
(Catatan:
<n>
adalah tempat Anda mengetik input Anda)Berikut adalah kode yang tidak terkait dengan pembuatan nomor:
Berarti saya mengungkapkan 5 dari 19 karakter.
<n>
adalah input. Berikut adalah beberapa contoh keluaran:Menjawab
Kode ini mencetak The Lucas Numbers ( A000032 ), yang sama seperti The Fibonnaci Sequence, kecuali bahwa ia dimulai
2, 1
sebagai gantinya1, 1
. Inilah 15 angka pertama:Berikut kode yang terungkap:
Penjelasan:
Penjelasan makro:
Sekarang, kita hanya perlu menghapus angka kedua, karena angka pertama adalah nomor lucas yang kita inginkan. Jadi kita lakukan
Juga, jika saya tidak salah, ini adalah pengiriman aman pertama! Itu agak keren.
sumber
bD
pada akhirnya, output hanya satu nomor dan beberapa spasi putih tambahan.05AB1E , 5 byte, aman
Terakhir untuk hari ini: hlm. Keluaran:
Kode:
Karakter dikaburkan ditandai dengan
_
. Cobalah online! -link. Menggunakan pengodean CP-1252 .Larutan:
Penjelasan:
Cobalah online! atau Coba untuk semua kasus uji! .
sumber
g°<¹-
tetapi saya tidak bisa menemukan cara untuk menggunakanm
ukuran ini! D:Elemen , 7 byte, retak
Keluaran:
Itu
#
adalah karakter tersembunyi, dan mereka semua dapat dicetak ASCII. Saya pikir ini sebenarnya cukup sulit (karena hanya memiliki 5 karakter yang hilang).Untuk kenyamanan, inilah halaman wiki Try It Online dan Esolang .
Program asli saya adalah:
Kuncinya adalah itu
sumber
}
bukan]
?}
benar, dan program saya (sejauh yang saya tahu) bekerja di setiap versi Elemen.Jolf , 5 byte, retak
Keluaran:
Semua itu penting, dan saya telah menunjukkan 1 dari 5.
Kode asli:
Cobalah online!
sumber
JavaScript (ES7), 10 byte, Retak
Keluaran
Kode
Uji di Firefox setiap malam. Kode ini adalah fungsi anonim. Ini mungkin akan mudah karena hanya ada tiga karakter yang disembunyikan, tetapi setidaknya singkat! : P
Kode asli saya adalah:
tetapi setelah memaksa kode saya sendiri untuk solusi, saya segera menyadari
bisa juga digunakan. Ini berhasil karena
sumber
**
setara denganMath.pow
, saya telah melakukan beberapa pengujian saya sendiri, dan bahkan menjalankan kekuatan kasar. Ini cukup sulit untuk dipecahkan!05AB1E, 4 byte ( Retak )
Output sampel:
Dan untuk kodenya:
Saya mengungkapkan yang terakhir. Seharusnya cukup mudah, aku kesulitan menemukan urutan :(
Semua karakter tersembunyi dapat dicetak.
sumber
MATL , 5 byte, retak
Karakter tersembunyi ditunjukkan oleh
%
.Keluaran:
Masukan
0
valid.Kode asli:
itu adalah,
sumber
SWIFT, 55 byte, Retak
*
menandai karakter yang tersembunyiKeluaran:
Fungsi menerima
0
sumber
Ruby, 46 byte, aman
Edit untuk menambahkan penafian / permintaan maaf: Urutan ini dimulai dengan f [0], sedangkan entri OEIS dimulai dengan f [1]. Nilai-nilainya sama.
Kode yang dikaburkan (
#
adalah karakter apa saja):Sebut seperti
Keluaran:
Larutan:
Urutan:
Penjelasan:
sumber
05AB1E , 3 byte, retak
Keluaran:
Kode tersembunyi:
Cobalah secara online mungkin berguna.
sumber
Hexagony , 7 byte, retak
Keluaran:
Kode tersembunyi:
Atau sebagai alternatif:
Cobalah secara online mungkin berguna.
sumber
0
?PHP, 41 byte, sudah di- crack
Ya, akhirnya tantangan Polisi dan Perampok lainnya. Semoga saya tidak membuatnya menjadi mudah.
Keluaran
Sumber
Catatan
Retak
Saya jelas membuatnya mudah dan memberikan contoh yang tidak cukup. Urutan yang saya pikirkan adalah A010054 :
Ini kode sumber asli saya:
Ini menguji apakah input adalah angka segitiga dan output
1
atau0
sesuai.sumber
Jolf, 11 byte, Retak , A011551
Kode asli:
Contoh:
sumber
MATL, 9 byte, Retak
Kode:
Keluaran:
a(0)
adalah benar.Retak
Urutan asli: A059563
Kode asli:
sumber
Java, 479 byte, Cracked
Output:
(Input diberikan melalui argumen baris perintah)
Kode (
#
menandai karakter tersembunyi):Program dimulai pada indeks 0.
(Perhatikan bahwa SE mengganti semua
\t
indentasi dengan 4 spasi, sehingga total byte menjadi 569. Klik di sini untuk melihat program dengan\t
indents instead of space indents.)Kode asli:
(Kode yang sama, tetapi diformat secara normal):
sumber
i
to}
? And please specify 0-tolerance.a(9)
anda(19)
ora(8)
anda(18)
, according to which version of it on OEIS you took?Octave, 34 bytes, cracked
Outputs:
The sequence starts at
ans(1)
in OEIS.sumber
C, 71 bytes cracked
Output:
This works with gcc, and is a full program. It accepts 0 as input.
sumber
Pyth, 70 bytes, Cracked
#
are the hidden charactersHas been cracked, so here is the versionn without hidden chars :
Sample outputs :
Good luck to find this on OEIS, I personally failed to find it from those examples (even tho the sequence is quite easy to spot.)sumber
Ruby, 38 bytes, cracked
Obfuscated code (
#
can be any character):Output:
Multiplies the input by 10 (A008592). Works for any integer, including 0. e.g.
sumber
05AB1E, 5 bytes, cracked
Output:
Obfuscated code:
Try it online!-link.
sumber
05AB1E, 4 bytes, cracked
Well then, I think I'm addicted to CnR's... Obfuscated code (
_
indicates a wild card):Sequence:
The sequence in OEIS starts at a(1) = 2.
Try it online!-link
sumber
Lua, 45 Bytes, Cracked
A small hint:
Output
Code
Uses
#
to hide the code :).I was using the OEIS A007814, with the following code:
sumber
Pyke, 15 bytes, SAFE
Output
Revealed code:
Solution:
sumber
C, 82 bytes, safe
Works with gcc, and it is a full program, which reads its input from stdin and prints its output to stdout. Here the sequence is
A004526, floor(n/2).Solution:
This works only on little endian machines, and only if the size of
char
is 1 byte.And only if the byte higher than the highest order byte of
a
has value 0. I think this is true for gcc since by default uninitialized global variables go into the bss segment, and initialized global variables go into the data segment (see https://stackoverflow.com/questions/8721475/if-a-global-variable-is-initialized-to-0-will-it-go-to-bss).So only
a
goes into bss (the only other global variableb
is initialized and thus goes into the data segment). Ifa
is not at the end of bss, then the byte higher than the highest order byte ofa
is also in bss and thus has value 0.sumber
05AB1E, 1 byte, Cracked
_
denotes hidden code.sumber
Element, 10 bytes, cracked
Output:
There's probably only a few ways to compute this sequence in Element. I found a 9-char solution, but I figured this 10-char solution is actually more difficult. The
#
are hidden characters.For convenience, here's the Try It Online and Esolang wiki pages.
The original was
sumber
Pyth, 18 bytes
#
marks unrevealed characters.Outputs (starts from
1
):Online interpreter
sumber
05AB1E, 5 bytes, cracked
I hope that this submission isn't as easy as my other ones :p. Outputs:
Obfuscated code:
Contains some non-ASCII characters though, uses CP-1252 encoding.
Try it online! might come in handy :p.
sumber
Jolf, 11 bytes, Cracked.
Output:
And the partially hidden code:
Hint:
The cracked version isn't quite the same as my original code. I'm not currently at my computer, so I don't have it exactly, but it was something like this:
(The only part I'm unsure about is the
!m
. It's whatever checks if a variable is zero.)sumber
Pyke, 6 bytes, Cracked
Output:
This doesn't work with N<1
Original solution:
sumber