Bagian perampok
Bagian polisi dapat ditemukan di sini .
Tantangan
Tugas Anda adalah untuk mengalahkan pengajuan polisi dalam bahasa yang sama dan versi yang sama (misalnya, Python 3.5 ≠ Python 3.4 , sehingga tidak diperbolehkan). Kiriman dikalahkan ketika panjang dalam byte lebih pendek dari kiriman asli. Anda hanya perlu melepas setidaknya 1 byte untuk memecahkan kiriman. Misal jika tugasnya adalah menjalankan 2 × n , dan pengirimannya adalah sebagai berikut:
print(2*input())
Anda bisa mengalahkan polisi dengan melakukan hal berikut:
print 2*input()
Atau bahkan ini (karena lambda diperbolehkan):
lambda x:2*x
Posting ini dengan tajuk berikut:
##{language name}, <s>{prev byte count}</s> {byte count}, {cop's submission + link}
Sebagai contoh:
Python 2,
1612 byte, Adnan (+ tautan ke kiriman)lambda x:2*x
Menghitung A005843 , (offset = 0).
Jika demikian, Anda telah memecahkan kiriman.
Mencetak gol
Orang dengan siapa yang paling banyak mengirimkan kiriman adalah pemenangnya.
Aturan
- Pengajuan crack harus dalam bahasa yang sama dengan pengajuan polisi.
- Input yang sama harus menghasilkan output yang sama (jadi a (2) = 4 harus tetap 4).
- Untuk bahasa seperti Python, Anda bisa mengimpor pustaka yang termasuk dalam bahasa standar. (Jadi, tidak ada numpy / sympy dll.)
- Input dan output keduanya dalam desimal (basis 10).
Catatan
Tantangan ini selesai. Pemenang bagian Perampok adalah feersum . Skor akhir untuk CnR ditunjukkan di bawah ini:
- feersum : 16 celah
- Dennis : 12 retak
- Leaky Nun : 6 celah
- Lynn : 4 retakan
- miles : 3 celah
- Martin Ender : 2 celah
- Emigna : 2 retak
- jimmy23013 : 1 retak
- Sp3000 : 1 retak
- randomra : 1 retak
- alephalpha : 1 retak
- nimi : 1 retak
- Semangka Destructible : 1 retak
- Dom Hastings : 1 crack
(**)&2
,. Saya mencoba2&(**)
dan gagal. :((**)&2
bekerja dengan baik untuk saya: / tapi ini juga berfungsi.Jelly ,
54 byte , George V. WilliamsCoba di sini.
Fitur tersembunyi!
Jika saya ingat dengan benar,
ÆḊ
(A) = sqrt (det (AA T )) adalah n! kali pengukuran Lebesgue dimensi n dari simpleks yang dibentuk oleh titik input n dan asal dalam ruang dimensi m. Ketika n = 1 itu merosot ke jarak Euclidean. Tidak aneh setelah semua ...sumber
Ḋ
danḞ
berada dalam kisaran UTF-16. Itu akan membuat solusi ini 6 byte dengan asumsi pengkodean heterogen, dan 8 byte dengan asumsi pengkodean homogen. Bertanya jujur di sini.Hexagony ,
9133 byte, BiruDibuka:
Cobalah online!
Masih terlihat agak golf, tetapi saya pikir saya akan mempostingnya sebelum FryAmTheEggman mengalahkan saya untuk itu. ;)
Penjelasan
Berikut adalah beberapa jalur eksekusi kode warna:
Namun, ini tidak perlu berbelit-belit karena bermain golf. Berikut adalah kode yang sama persis dengan tata letak yang lebih waras:
Itu lebih baik. Dan akhirnya, di sini adalah diagram memori, di mana panah merah menunjukkan posisi awal dan orientasi penunjuk memori (MP):
Intinya adalah bahwa saya iteratif komputasi angka Fibonacci pada tiga tepi berlabel f (i) , f (i + 1) dan f (i + 2) sementara melacak iterator di tepi A , B dan C . Sambil melakukan itu, peran dari tepi ini ditukar secara siklis setelah setiap iterasi. Mari kita lihat bagaimana ini terjadi ...
Kode dimulai pada jalur abu-abu yang melakukan beberapa pengaturan awal. Perhatikan bahwa f (i) sudah memiliki nilai awal yang benar sebesar
0
.Sekarang jalur hijau adalah loop utama.
_
dan>
hanya cermin.Dengan cara ini, MP bergerak di sekitar triplet sisi dalam, menghitung angka Fibonacci berturut-turut hingga
n
mencapai nol. Kemudian akhirnya jalur merah dijalankan:Diagram yang dihasilkan dengan HexagonyColorer dan EsotericIDE Timwi .
sumber
Haskell,
54 byte, xnorKari sederhana.
sumber
Stack Cats,
1413 byte, feersumdengan
-nm
bendera untuk +4 byte. Cobalah online!Oke, loop itu gila. Aku mencoba beberapa pendekatan, seperti kasar memaksa lebih dari satu alfabet berkurang dan kasar memaksa
3x+2
atau5x+4
dan mencoba untuk memperpanjang itu, tapi aku tidak pernah berharap solusi untuk benar-benar mengandung satu lingkaran.Cara terbaik untuk melihat bagaimana ini bekerja adalah dengan menambahkan
D
flag untuk debugging (jadi jalankan dengan-nmD
) dan nyalakan debug untuk tautan TIO di atas. Sebuah{}
loop mengingat bagian atas stack di awal loop, dan keluar ketika bagian atas stack adalah nilai itu lagi. Bagian dalam loop melakukan pengurangan yang menyenangkan dan bersepeda dari tiga elemen teratas stack, yang merupakan cara loop dijalankan untuk banyak iterasi.sumber
Sesos,
1411 byte, Leaky NunMenghitung n 2 . Coba di sini.
Hex dump:
Dari perakitan:
sumber
1 + 3 + … + (2n–1)
bukannyan × n
:)Sayangnya,
776759 byte, Semangka DestructibleSaya mencoba membaca kode sumber untuk bahasa ini tetapi terlalu membingungkan. Untuk satu hal,
ip[1]
adalah nomor baris sedangkanip[0]
nomor kolom, sedangkancp
koordinat digunakan sebaliknya. Namun, terkadang nilaicp
ditugaskan untukip
. Saya menyerah untuk mencoba memahami apa yang sedang dilakukan program dan menemukan cara untuk menyandikan urutan instruksi yang sama menggunakan lebih sedikit bilah.sumber
Brachylog ,
2721 byte, FatalizeCobalah online!
sumber
J,
1712 byte, milSama seperti aslinya hanya lebih golf. :)
i:
memiliki+1
jangkauan dibandingkan dengani.
berguna (dan aneh). Jika Anda menggunakan dii.
sinin=0
akan salah tetapi untungnyai:
menyelesaikannya.Cobalah online di sini.
sumber
i:
menjadi nol untuk nilai negatif. Versi saya adalah+/@(]!2*-)i.,]
.M,
106 byte, DennisMengingat n , itu menghitung n th -tingkat faktorial dari n . Ini adalah latihan yang menyenangkan!
Kode ini mampu berjalan sebagai Jelly sehingga Anda dapat mencobanya online .
Penjelasan
sumber
Snowman,
5044 byte, Gagang PintuCobalah online!
sumber
((}#1nG|#2nMNdE0nR2aGaZ::nM;aF;aM:nS;aF,nM*))
.Haskell,
1514 byte, xnorSaya menghabiskan beberapa jam tanpa hasil belajar menguraikan sintaks "sia-sia" ...
until
Saya malah menemukan ini.Atau untuk 13 byte yang tidak terlalu lembut
until odd(+1)
,.sumber
Python 2,
4340, xsotsumber
Pyke,
119 byte, ikan lumpurCoba di sini!
Bagaimana itu bekerja
sumber
hV~oX*o+
. Jawaban 5 byte saya adalahSDmX^
~o
rapi. Saya tidak tahu apa yangSDmX^
terjadi.m
hanya memengaruhiX
dan bukan^
? Itu sangat menjelaskan.m
dan sejenisnya hanya menggunakan node berikutnya. Ada komentar di dokumen saya dll?05AB1E ,
74, Emignasumber
Jelly,
2221 byte, DennisSaya menghabiskan beberapa jam membaca kode sumber Jelly untuk yang terakhir, jadi saya mungkin juga menggunakan "skill" ini untuk digunakan. Saya harap @Dennis akan berbagi dengan kami penemuan matematikanya yang memungkinkan formula yang lebih pendek (dengan asumsi ada sesuatu dan tidak hanya trik Jelly yang aneh!).
sumber
J,
2019 byte, milIni menghitung produk sebagai jumlah angka Fibonacci kuadrat, yang dihitung sebagai jumlah koefisien binomial.
Untungnya, @miles sendiri memposting kode untuk menghasilkan angka Fibonacci dalam komentar ini .
sumber
Acc !! ,
526525 byte, DLoscSaya tidak tahu bagaimana ini bekerja, tetapi saya bisa melihat perbaikan kecil.
sumber
Haskell, 10 byte, xnor
Contoh penggunaan:
map ( gcd=<<(2^) ) [1..17]
->[1,2,1,4,1,2,1,8,1,2,1,4,1,2,1,16,1]
.Cara kerjanya: Dari halaman Oei kita melihat bahwa
a(n) = gcd(2^n, n)
atau ditulis dalam sintaks Haskell:a n = gcd (2^n) n
. Fungsi dengan polaf x = g (h x) x
dapat berubah ke titik-gratis melalui fungsi=<<
:f = g =<< h
, makagcd=<<(2^)
yang diterjemahkan kembali kegcd (2^x) x
.sumber
Sesos,
149 byte, Leaky NunMenghitung n mod 16 . Coba di sini.
Hex:
Majelis:
sumber
Python,
3917 byte, Semangka Destructiblesumber
05AB1E,
94 byte, EmignaCobalah online!
Hitung fungsi ini sebagai gantinya:
sumber
Hexagony ,
76 byte, AdnanDibuka:
Cobalah online!
Ide yang sama, tata letak yang sedikit berbeda.
sumber
MATL,
1110 byte, Luis MendoAlih-alih melakukan -1 ^ panjang (array) itu mengkonversi elemen ke nilai Boolean (yang selalu 1), meniadakan mereka, dan mengambil produk dari elemen.
sumber
Jelly,
1110, DennisVersi vektor dari pendekatan yang sama.
Cobalah online!
sumber
05AB1E,
108 byte, AdnanCobalah online .
sumber
µNÂʽ
selama 5 byte. Agaknya versi rahasia.Brachylog,
1110 bytes, FatalkanCobalah online!
Penjelasan
Brachylog adalah bahasa yang diturunkan dari Prolog, yang kemampuan terbesarnya adalah untuk membuktikan banyak hal.
Di sini, kami membuktikan pernyataan ini:
sumber
Jelly,
98 byte, DennisMaaf! Saya tidak dapat menemukan solusi yang Anda maksudkan.
Ini bergantung pada fakta bahwa
C(n+k-1, k)
ada sejumlah cara untuk memilihk
nilai darin
dengan penggantian.Catatan: Ini tidak efisien karena menghasilkan set yang mungkin untuk menghitungnya, jadi cobalah untuk menghindari menggunakan nilai besar n online.
Cobalah online atau Verifikasi hingga n .
Saya kemudian menemukan versi 8 byte lain yang cukup efisien untuk menghitung n = 1000. Ini menghitung nilai menggunakan koefisien binomial dan menghindari menghasilkan daftar.
Cobalah online atau Verifikasi hingga n .
Penjelasan
sumber
M,
98 byte, Dennissumber
QBasic,
3029 byte, DLoscsumber