Tantangan ini awalnya dikosongkan oleh Magic Octopus Urn; Saya mengadopsi dan mempostingnya dengan izinnya.
Ini adalah utas polisi. Utas perampok ada di sini .
Tantangan
- Langkah Satu: Tulis bagian kode (fungsi atau program lengkap) yang memeriksa keaslian .
- Langkah Dua: Hapus potongan kode Anda dengan mengganti karakter dengan simbol
█
. - Langkah Tiga: Posting kode yang dihapus pada utas polisi.
- Langkah Empat: Tunggu kode Anda untuk di-crack dan cobalah untuk memecahkan kode yang lain.
Misalnya, kode Groovy {it.isPrime()}
bisa menjadi {██.is█████()}
. (Yang ini akan sangat mudah retak; juga, saya tahu, .isPrime()
ini bukan metode Groovy.)
Mencetak gol
Anda harus memasukkan skor program Anda dalam pengajuannya. Skor didefinisikan sebagai rasio karakter yang dihapus ke karakter. Jadi jika program Anda memiliki 20 karakter dan 5 dihapus, skor Anda adalah 0,25. Kode Groovy di atas akan memiliki skor 0,5.
Aturan
- Program Anda hanya perlu menangani bilangan bulat positif. Seharusnya menghasilkan nilai yang benar jika nomornya prima dan nilai palsu sebaliknya. Silakan tentukan dalam jawaban Anda apa yang dihasilkannya.
- Kode Anda mungkin tidak mengandung komentar atau spasi kosong yang tidak perlu.
- Tidak ada kebingungan hashing atau kriptografis.
- Kode Anda mungkin tidak lebih dari 50% dihapus (setidaknya 1/2 karakter harus ditampilkan). Ini berarti bahwa skor tertinggi yang mungkin adalah 0,5.
- Jika jawaban Anda tidak di-crack dalam waktu satu minggu, Anda dapat menandainya dengan aman dan mengeditnya di crack yang dimaksud.
Kemenangan
Pemenang akan menjadi jawaban tidak terpecah dengan skor terendah dalam dua minggu setelah pengeposan. Dalam kasus seri, siapa pun yang memiliki suara terbanyak akan menang. Utas ini selalu terbuka untuk pengiriman lebih banyak, tetapi pemenang yang dipilih setelah dua minggu akan menjadi permanen.
n >= 1
atau semua bilangan bulat?)Jawaban:
Functoid , skor = 14/223 ≈ 0,062780 [aman]
Mengambil input sebagai argumen baris perintah dan keluaran
True
(utama) atauFalse
, coba online!Petunjuk (ditambahkan 4 hari setelah posting):
Larutan
Cobalah online!
Penjelasan
Karena keacakan yang berasal dari
?
itu tidak mungkin untuk meratakan program. Berikut program datar dengan tanda tanya di mana ekspresi acak akan berada:Program lengkap:
The
{trial_division}
:{recursive_call}
, mengambil argumenf
(referensi diri),x
dany
(catatan0
sama denganFalse
){divides}
adalah di?(yg(KZ)(C(C(BB(BS(b(C(BBI)I))))(C(BC(b(C(BBI)I)))I))(C-)))
mana?
dipilih secara acak (tergantung pada arah acak) dari:Y
S(CBO)(CBO)
S(SB(KO))(BBSBKO)
Ini semua setara satu sama lain, sehingga
{divides}
menjadi titik perbaikan:{recursive_call}
adalah ekspresi yang cukup dikaburkan yang pada dasarnya hanya melakukannyaf x (y-x)
sumber
8086 DOS COM, 87 byte, skor 19/87 ~ = 0,2183
Retak oleh NieDzejkob
Ini adalah program COM; mengharapkan angka sebagai argumen baris perintah, output Y atau N. Batas: 65535 karena prosesor 16 bit (sizeof (int) akan menjadi 2). Baris baru adalah 0x0D 0x0A pada platform ini. Ya, Anda menghitung 20 █ bukannya 19 █. Salah satunya nyata real dan belum diganti. Muhahaha.
Ruang di posisi 10 sebenarnya adalah byte NUL. Simbol untuk NUL adalah sama dengan ruang di font VGA lama.
sumber
╛üX
paling awal adalahmov si, 0x5881
.Swift 4 , skor 26/170 ≈ 0,153, aman
Cobalah online!
Retak yang Dimaksudkan
Tidak disatukan
sumber
brainfuck , 37/540 byte (skor: 0,06851) ( Retak oleh Nitrodon)
Cobalah online!
Mencetak "prima" jika prima, "tidak prima" jika komposit. Secara teknis bekerja untuk bilangan bulat sewenang-wenang tetapi waktu keluar pada TIO untuk angka di atas 6000
sumber
Mathematica, 97 byte, skor 0,2989690722 ( Retak )
String! Regex! Bilangan prima?
Ada adalah hal seperti primality memeriksa regex, tapi itu tidak whats terjadi di sini.
Ini sudah retak , tapi cara yang saya maksudkan sangat berbeda, jadi saya belum akan mengungkapkan solusi yang dimaksud.
sumber
Jelly , skor 0. (142857) ( retak )
Cobalah online!
Repost dari jawaban saya yang lain, kali ini dengan beberapa byte terungkap untuk menghindari cheat yang tidak diinginkan.
sumber
Oktaf , Skor: 0,15 (86 byte)
Saya mengungkapkan beberapa karakter lagi. Saya pikir kriteria kemenangan adalah skor tertinggi , bukan terendah .
Cobalah online!
Semoga berhasil =)
sumber
Python 3, 388 byte, .155, Retak
Retakan menit terakhir. Ya, ini adalah tes Miller-Rabin.
Saya kira tes probabilistik diperbolehkan, ketidakpastian 2 ^ -100
Yah, sedikit petunjuk dalam kalimat sebelumnya
Membuat nilai pengembalian 0 sebagai KOMPOSIT dan 1 sebagai PRIMABEL PRIME
* 368> 388: Memperbaiki masalah saat z <4
Larutan:
sumber
"COMPOSITE"
melanggar semangat aturan "Kode Anda mungkin tidak mengandung komentar atau spasi kosong yang tidak perlu."095 , skor 0,20512820512 [Aman]
Mencetak 1 jika prima, 0 jika komposit
Larutan:
sumber
Node JavaScript, skor: 0,4
Di sinilah kerjanya. Program penuh yang mengambil input dari argumen baris perintah pertama, dan output ke stdout.
Semoga solusi yang tidak terlalu sulit untuk memulai ini.
Menggunakan cuplikan ini untuk menghitung skor.
sumber
Jelly , skor 0. (142857)
Cobalah online!
Membawa argumen baris perintah.
Salah =
0
Benar =
1
sumber
JavaScript, 103 byte, skor 0,1923
x=>{if(x<4)return(!0);for(y=x>>>Math.log10(p=████;--y-1;(p=x/y%1)████if(██&&(███))break████return(███)}
Mengembalikan boolean.
Retakan yang tidak diinginkan
sumber
Javascript, skor 0.1894093686354379
Semoga berhasil. : p
panggil f dengan prime yang ingin Anda periksa.
sumber
t
.> <>, skor 0,096, dipecahkan oleh Jo King
Retak yang dimaksudkan:
sumber
v
merupakan loop tanpa batas tanpa syarat?Brain-Flak, Nilai: 35/134 = 0,2612 ( retak! )
(({████){██[████)█>(({}))<>}<>{}███{}((██({}))█████{}]██)({}(<>))<>{(({})){({}[()])<>}{}}{}<>([{}()]{})██[██()██(()█[()]██{}██}{}<>{})
Mengembalikan 1 untuk prima, 0 untuk komposit.
Ini adalah bahasa yang sangat sulit untuk mencoba tantangan ini, karena formatnya sangat terbatas sehingga perlu upaya untuk tidak memperjelas apa karakter yang hilang.
Ini adalah bahasa yang sangat sulit untuk menyelesaikan tantangan ini, karena sangat sulit untuk dibaca.
sumber
Java 1.4+, 24/145 (0.16551724137)
Cobalah online!
Cara teraneh yang pernah saya lihat sebagai pemeriksaan perdana di Jawa sejauh ini.
sumber
Japt, 19 byte, 0,315789 ... skor, Aman
Saya tidak tahu apakah saya mengaburkan lebih dari ini daripada yang saya butuhkan, menilai diri saya skor yang lebih baik.
View solution (Penjelasan segera hadir)
sumber
C, 34/76 = 0,447368, Aman
Memiliki banyak kekosongan ini berarti bahwa saya akan jauh lebih mungkin untuk mendapatkan celah yang tidak diinginkan daripada yang dimaksudkan.
Larutan:
penjelasan:
sumber
M , skor: 4/22 = .1818 ..., dipecahkan oleh Dennis
Ini mungkin berakhir dengan celah yang tidak diinginkan, kita harus melihatnya.Itu benar.Solusi Dennis adalah
Cobalah online!
Saya akan membiarkan solusi saya disembunyikan agar seseorang dapat memecahkannya. Petunjuk saya kepada Dennis tentang pengiriman perampoknya adalah kata "kebun binatang".
sumber
C, 66 byte, 29 disunting, skor 0,439
Hanya pengiriman C sederhana; Saya akan melihat berapa lama ini diperlukan sebelum saya memposting yang benar-benar jahat.
sumber
Pyth , skor: ~ 0. (461538) (13 byte) ( Retak )
Cobalah untuk memecahkannya di sini!
sumber
sh + coreutils, skor 19/143 ~ = 0,1328
retak
TIO
sumber
Brain-Flak , skor 29/140 = 0,207
({}██()██<>){██({}[()])██{}{}███({<({}[()])><>({})<>}{}██████{}██){(({})){({}[()])<>}{}}<>([{}()]{}<>{})<>}(<>██{}({}████)((){[()]██{}██}{})
Cobalah online!
Output 1 untuk prime dan 0 untuk non-prime.
sumber
Tampio (imperatif), skor: 24/51 = 0,5
Ini adalah solusi yang jelas, saya harap tidak ada yang mengerti bahasa Finlandia.
sumber
Tampio (imperatif), skor: 26/223 = 0,11659 ...
sumber
Pyt , skor: 0,288288 ... [Aman]
Output "Benar" jika prima, "Salah" jika tidak
Lupa menyebutkan bahwa ini adalah tes probabilistik.
Larutan:
Ini mengimplementasikan uji primality Solovay-Strassen.
Coba online di sini!
sumber
Ruby, 27/73 = 0.369863
Ini pasti menyenangkan.
sumber
Python 3 , skor: 0,386363, retak
Pergi untuk menggantung buah yang sangat rendah pada awalnya. Saya akan datang dengan jawaban nakal segera.
user71546 membuatnya "berfungsi" dengan
... tapi itu tidak disengaja. Kode asli tadinya
Tidak berfungsi untuk x <2, ternyata. Ups.
sumber
JavaScript (ES7), 297 byte, 103 dihapus, .347
Jawaban Python saya sebelumnya terlalu mudah, jadi ini jawaban yang jahat;)
Logika di baliknya sederhana.
sumber