Bisakah Anda mengalahkan saya? (Bagian polisi)


84

Bagian polisi

Bagian perampok dapat ditemukan di sini .

Terima kasih kepada FryAmTheEggman , Peter Taylor , Nathan Merrill , xnor , Dennis , Laikoni dan Mego untuk kontribusi mereka.


Tantangan

Tugas Anda adalah menulis 2 program berbeda (program penuh / fungsi / dll. ) Dalam bahasa yang sama dan versi yang sama (misalnya Python 3.5 ≠ Python 3.4, sehingga tidak diizinkan), dan ketika diberikan n (menggunakan STDIN / argumen fungsi / etc. ), hitung a (n) di mana a adalah urutan OEIS pilihan Anda. Salah satu dari program tersebut lebih pendek dari yang lain. Anda hanya perlu mengirimkan program yang lebih panjang dari keduanya. Yang lain perlu diselamatkan jika tidak retak setelah 7 hari. Kiriman Anda sudah di-crack ketika program Anda telah dikalahkan (baik dengan 1 byte atau lebih).

Misalnya, jika tugas yang Anda pilih adalah menjalankan 2 × n , ini bisa menjadi pengiriman yang valid (dengan Python 2):

Python 2, 16 byte, skor = 15/16 = 0,9375

print(2*input())

Menghitung A005843 , (offset = 0).

Jika kiriman Anda telah di-crack, maka Anda perlu menyatakannya di header seperti:

Python 2, 16 byte, skor = 15/16 = 0,9375, [retak] + tautan

print(2*input())

Menghitung A005843 , (offset = 0).


Mengimbangi

Ini dapat ditemukan di setiap halaman OEIS. Misalnya, untuk A005843 , offsetnya adalah 0,2. Kita hanya perlu menggunakan yang pertama, yaitu 0. Ini berarti bahwa fungsi didefinisikan untuk semua angka ≥ 0.

Dengan kata lain, fungsi OEIS (n) dimulai dengan n = 0 . Program Anda perlu bekerja untuk semua kasus yang diberikan oleh OEIS.

Informasi lebih lanjut dapat ditemukan di sini .


Mencetak gol

Skor yang Anda dapatkan untuk kiriman Anda sama dengan rumus berikut:

Nilai = Panjang (dalam byte) dari kode rahasia ÷ Panjang (dalam byte) dari kode publik

Contoh di atas memiliki skor 15 ÷ 16 = 0,9375.

Pengajuan dengan skor terendah akan menang. Hanya kiriman yang telah memposting solusi mereka yang memenuhi syarat untuk menang.


Aturan

  • Tugas yang perlu Anda lakukan adalah urutan OEIS pilihan Anda.
  • Diberikan n , keluaran OEIS (n) . Deviasi tidak diperbolehkan, jadi Anda perlu menghasilkan urutan yang sama persis (ketika diberikan n, Anda perlu menampilkan OEIS (n)).
  • Pengajuan yang tidak retak dalam jangka waktu 7 hari dianggap aman setelah solusinya telah diposting (pengiriman yang lebih dari 7 hari yang tidak memiliki solusinya diposting masih rentan dalam retak).
  • Dalam kiriman Anda, Anda perlu memposting hal-hal berikut: nama bahasa , jumlah byte , kode lengkap , sehingga tidak ada tautan pastebin dll. (Untuk mencegah jawaban seperti Unary), urutan OEIS , skor dengan panjang kedua program dan juga, pengkodean yang digunakan.
  • Catatan: urutan yang sama tidak dapat diposting dua kali dalam bahasa yang sama . (Misalnya, jika urutan A005843 telah dilakukan dalam Pyth, Anda tidak dapat menggunakan Pyth lagi untuk urutan yang sama.)
  • Input dan output keduanya dalam desimal (basis 10)

Papan peringkat

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><style>table th,table td{padding: 5px;}th{text-align: left;}.score{text-align: right;}table a{display: block;}.main{float: left;margin-right: 30px;}.main h3,.main div{margin: 5px;}.message{font-style: italic;}#api_error{color: red;font-weight: bold;margin: 5px;}</style> <script>QUESTION_ID=88979;var safe_list=[];var uncracked_list=[];var n=0;var bycreation=function(x,y){return (x[0][0]<y[0][0])-(x[0][0]>y[0][0]);};var byscore=function(x,y){return (x[0][1]>y[0][1])-(x[0][1]<y[0][1]);};function u(l,o){jQuery(l[1]).empty();l[0].sort(o);for(var i=0;i<l[0].length;i++) l[0][i][1].appendTo(l[1]);if(l[0].length==0) jQuery('<tr><td colspan="3" class="message">none yet.</td></tr>').appendTo(l[1]);}function m(s){if('error_message' in s) jQuery('#api_error').text('API Error: '+s.error_message);}function g(p){jQuery.getJSON('//api.stackexchange.com/2.2/questions/' + QUESTION_ID + '/answers?page=' + p + '&pagesize=100&order=desc&sort=creation&site=codegolf&filter=!.Fjs-H6J36w0DtV5A_ZMzR7bRqt1e', function(s){m(s);s.items.map(function(a){var he = jQuery('<div/>').html(a.body).children().first();he.find('strike').text('');var h = he.text();if (!/cracked/i.test(h) && (typeof a.comments == 'undefined' || a.comments.filter(function(b){var c = jQuery('<div/>').html(b.body);return /^cracked/i.test(c.text()) || c.find('a').filter(function(){return /cracked/i.test(jQuery(this).text())}).length > 0}).length == 0)){var m = /^\s*((?:[^,;(\s]|\s+[^-,;(\s])+).*(0.\d+)/.exec(h);var e = [[n++, m ? m[2]-0 : null], jQuery('<tr/>').append( jQuery('<td/>').append( jQuery('<a/>').text(m ? m[1] : h).attr('href', a.link)), jQuery('<td class="score"/>').text(m ? m[2] : '?'), jQuery('<td/>').append( jQuery('<a/>').text(a.owner.display_name).attr('href', a.owner.link)) )];if(/safe/i.test(h)) safe_list.push(e);else uncracked_list.push(e);}});if (s.items.length == 100) g(p + 1);else{var s=[[uncracked_list, '#uncracked'], [safe_list, '#safe']];for(var i=0;i<2;i++) u(s[i],byscore);jQuery('#uncracked_by_score').bind('click',function(){u(s[0],byscore);return false});jQuery('#uncracked_by_creation').bind('click',function(){u(s[0],bycreation);return false});}}).error(function(e){m(e.responseJSON);});}g(1);</script><link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/Sites/codegolf/all.css?v=7509797c03ea"><div id="api_error"></div><div class="main"><h3>Uncracked submissions</h3><table> <tr> <th>Language</th> <th class="score">Score</th> <th>User</th> </tr> <tbody id="uncracked"></tbody></table><div>Sort by: <a href="#" id="uncracked_by_score">score</a> <a href="#" id="uncracked_by_creation">creation</a></div></div><div class="main"><h3>Safe submissions</h3><table> <tr> <th>Language</th> <th class="score">Score</th> <th>User</th> </tr> <tbody id="safe"></tbody></table></div>

Catatan

Tantangan ini selesai. Pemenang akhir adalah feersum dengan jawaban Seed- nya . Selamat! :)

Anda masih dapat mengirim polisi baru, tetapi perlu diketahui bahwa mereka tidak lagi bersaing.


2
@Andan Itu sepertinya disayangkan. Katakanlah saya menulis golf dengan beberapa trik pintar yang meningkatkan formula yang jelas. Jika saya memposting formula yang jelas, siapa pun dapat menemukan satu peningkatan dan menang. Atau, saya harus memberi tip tangan saya dan memberikan semua perbaikan kecuali satu. Apakah Anda mempertimbangkan untuk mengubah ini, jika belum terlambat? Maaf karena tidak memikirkan hal ini di kotak pasir ini, saya hanya memperhatikan ketika mencoba tantangan dengan sungguh-sungguh.
xnor

4
@ xnor Hmm, itu akan menyebabkan masalah besar dengan mekanisme penilaian. Anda kemudian dapat membuat pengajuan besar secara sewenang-wenang dan pendek hampir mustahil, dan memenangkan tantangan.
Adnan

3
@ Adnan Anda dapat menyelesaikannya dengan menentukan skor = len (kode rahasia) / min {len (kode publik), len (kode terpendek yang diposting oleh perampok)}.
Anders Kaseorg

3
@Adnan Konteksnya adalah saran xnor untuk membuat skor dihitung jika perampok mengalahkan skor publik Anda tetapi tidak cocok dengan skor rahasia Anda. Saya mengusulkan cara untuk membuat itu berfungsi sambil menghindari masalah yang Anda khawatirkan.
Anders Kaseorg

3
Ya, akhirnya tantangan Cooooops dan Rooooobbbbbers lain.
masukkan nama pengguna di sini

Jawaban:


36

Seed , 5861 bytes, skor = 5012/5861 = 0,85

Urutannya adalah bilangan prima ( A000040 ) dengan offset 1. a (1) = 2, a (2) = 3, a (3) = 5 dll.

106 4339425277766562922902283581834741289660008085947971671079664775075736459902652798498038280771739790213868067702391567527146683746696872737118568202495046682058807677834082334206717794057290386357040004038910321326390033894692316122893125849512049817771469697446796247656883761642659391998672259889315862253584980121050081936190889196979721443972131545258528161479083569474217100401074866410321578452749003295370495810488337344650619973376676577461877392643228932028285261311284691649403036725905675576380944186859525020321196255472295415627414823269713084816196540461818684672201926996228242729726187404845487167114556965625764494860789841409004737497250600337038738035289643512265772877903971230007222865264200102217827010958702813633039465646713707971175729900391272165457566364779628858903697222589748797809421482136725017988969980267265196209027326008642464190920825439635011414535065156799655809935871795742526416544853103823906918352472744460644939241345215614650110978624804796257165525598653433482592675123776747497586586903140407616610040250976121531777891358439091358523224019193934111409521776865798864774150127996987606796522094617839125169013781373842026970010007574244564780540958252950607459585834584855526028427463655493110963000525209314274839412714497954647707284352161251044088451086878301225167181712809612927720502228546704347274977503482518386819117870800284276687560241308964641752876311905619184965236937789822712948719170589044519552259399272657757694404103028213338440810122219269214268424256451648966039627998513353115348057963135398345514276156595104642595820063441019481255889600472121104059631555738973905087895006671206400595057069658845297458058584470727379036742268107372233190371861824194831387484478317333784774872796689435056263039565495723444232483369405079512770383639748492508848098080619713255928884946598796741958520788406091704951276729428229224292748702301286318784744573918534142896761450194446126776354892827260482520089107240497527796383449573487121759294618654056309957794765646022274249211113876873102681817500947681708211056388348991201016699342850495527766741633390367735662514559206616070479934780700857859919517187362382258597709910134111383911258731633002354208155277838257255571878219168563173495861133946240923601273185050088148273459064040178741322137494758164795598458780786653602794809987537740537018415433767449108362051063814315399931951925462073202072886716208053889630274798247936580024665863765351912184189125660586187615847325588786048095120241198943086897428919324650596915625795076460123743259068671341944912206659194476673792489442514470540309819938731582497982088632076086088279435186513066668502875362808653657423813387124496122632219269226944975782747969308509448942429277233562654639293567532567668357917753810024961683829653277391094269518376510962710057956994339018307344554672056556222387849272880157861877494719706801624724491116189525394408237355854147113614645956561900837121715298276123085019204014577395795131906357190097536924932784935203378709529040555114884933996346694363879974847691625806412083107877442577777402405491226347699452398189866905599648314105255526411599513768016126067224570735746339691839657336828937030584950250402550603260483421505256395736457980708347396132620971927806636308105501893575073944959824958733880580825249931469481777083600987966500968473202481877213198175820182125298036242272662171321630056435823478710070315022531849275633515412140708923196338877549535352180465031450246889723670908173572778497329815806296369714467774385173078365517895215622645081749679859298824530173433952201710212962315524645807786760255396609101229899503687886977229729747349967302227815724222900649259120496955396616388023947812556426182596252076072286860171961582235043470190275528327438941205680729222092142315348205283459886659277456757338926863444370956987436702675569004062857510888080701482282900718067707825890168959050535970636214821273965900140346587802750221148933877600652180282267212515086387728695565345543441575183083490091817551421389124038251086513387106526847199935776240422217886407416027185332010280169564289345500368555274327733580514983967396271907637608170801013991375555069570288329399237332712790289521766624379537848996471168926519414464863388365890585061582441222989105844636887033599262856636618609644981203616618819656730174147506366895579518927217154437260067784133452192099436160162797896733220282837763342940047719962882720310397266700665603774047807673735452896542215047419894928360985667680051383584281780118001522220147385455276205847620842066894760474814386271419398361771509559702341442734727141312211989794380570433135781896005067541537095546614638001539678780066976441749790924521292297473522803115912791790379839635473194794843511234906415092857115568242448079933264380632375450234146479596225552359821776361923588178896354011117990551249184457345201223244319766597339520899930287542362386381372955844126876031262062731835081542890548095759704856479235361996156162229417953890962902505112862674541020677153054937034038823204321411753183982406667628845943390275194956321260584953509501973880059966268311741789559039618821364775407403947492157311255310143283125490988585303127442698159113924719563571459841025286208880511134222538431747221840824203312684036627017414295981003169360893015436564680773233890198618904647085929678054127680367983802905553144716598061593632352021737488422700265144189474970515439967472618438343180405852959047054139020095303915498443045344690691354304662161461750826840689185141612937350984288238847592910919431788170821390987459951181698659544772214696392241600642992000900364649438402093845534643663733216626212187314397293309505677932731383013397665193960914949915855970134736764497124186701371371881061763702617034928084811708964018610410971938419410791443362686750151572343348438861493025667676713

Program Befunge-98 diuji dengan interpreter ini .

Larutan:

62 92671758747582594731336103958852355343308794409787718910287760272065096600068486400261521203099179296478278113800406388237579729434074471528101978922110199511009255327569364221068648720732186414156697930516237153253745234146558781777104311285708042469572129997820696177040412749585193035961972308024909384538547357820271391461203855177879703963391294547499579588457829374981409596253284387318191154655397249791533591896711203680125312645807793061567274893660125978667479654664977040722935418267606762108334976561590548772755653088127344268269983549959628254712562135604114391709222466418283973346968039685907258341712475120187026707300070769277380483828579629391533415119380882514570806683534933872011332303802477012040660361613689139008855327957705058672774790021218679288003003953301651226513713984857174365383390364296326192225244927665294515693697694918935732394438095829822147927645949273829493190176397786165741955566462476231578299385726525505407052332068778469428870102672560545990553686935179657522071350801304923521681690806124866463401094200444841941834667455137491597902735287855498886460945851544063102556545691787612423033525861765804657417395955322217721677429700032333887700477665924915189639029356029794151144702621112140447347270986003871777552705154393697526621456025974679633450745341583481291685834000335168972075093212539251102818038917942913311300883294570091156661153874804268309393591292001433191276766990017144340677002050765359295580546228905861008474333888247511333039470305173620221481374758754343560048199433044290376988914313248904786418615239832295700238599693805552407166251501198275363727855984193340187485162706203747898935844148656997727555488455764358003951396850496841760348138874901474547533715922587211143833052692993182786162665394965914056238514702648647904702501871758140636318131208564891924287008550289224318358936576352473100482724524675417108540029486047223784009872784235439805791496176981701859374772960623187174667015174831665360382067784289660747175586412802848517818731070091826086320292632019033525579172665790335268736167170506003176022610987557889205903933680970434653929602313812168432779881423599218075810156457004870273456214668951969634696002866863369645150677406566613367576078149751561615160777945725724620047443832859087000460506626402089973036918592151204779260519899343451226942874643654023265001514280212345984966126290887141500898797940093805650642580450926977375576911590855135774911449619005627413806680159169643085790457809525639117624947749945044091079624534522626841372604654172723500062361904864176709974716350878399949908529715899937417421315012456868864220900338162700464737416505300734198857624165994112815507157337074226022552948626042899845891195024145834980781844015548398775284084741665926642729256313545870065439195137107807599897817556866239630270351410298105991743248934632486671734759038305157913444368204353943206369388913837519310828223093441519335111533635957953613758894822654736600526811789875376813119426924959017038654104216784121093688306563643326587639486472221258233221666454164763738631579246841130247019172136121041002571694545781948282785399495873501148416357057693713305042834246973535325571882393889489457235864027134943913383832461393499203435931881991959787045205816313165984531168137210464591653390767999403651750434079431253272021002273680565508340556736474927770564408343360602057949991306130979603289667991356237787412616305022971197507815004141825394838946364485315703051195195566893733123391158803413838803831010122718476800229685100410524315094662633390222854924884579083098055980542607258318868514903610787510921796157291630993618714015755412239872758443166948699744841899868754369627081727143351807615097715679652005998467491609044596871312950634152039807480021814406950780706131231897491212637759991818212542181136384052857191779658528790835620632765143337026858373660057972387266312097135260115742458792764792668883627539340807572869610941154184473111399152964165437112713815173281951728792354570851956468302291939952274005357250989986640723863408051924618400882866539701190471828299028566020683682444415198672952980294639217217840535225987439355834087974716313911977302809235338769491339553247328065401203243450045946392960085318343121705830317674151229536850726617093615850507955559652374337057819549481320081981520577039493601331233500403284295119207704095876958023271178964331413629547646937335760969491450824461526563643617594783473684358594189269252499897162333533284912320654686655888508024970105099967896167541978181602786701854274646885561632089896312016789257459673121974866871919820865433343707787147414982407950775979279255414469970743690769124215210050618943726165676550098723299244096267839544684847323547847832349290874282817429866612456451105673214159820212156069771415582214200701894487126822756864305461967035982308878073752362075553218935807632264803200753661147341613284071218919438723527468202903770806766095252957940538229987302177328543423522712562396242285027178395886649344

8
Ini akan memakan waktu berabad-abad untuk memecahkan o_____O
TuxCrafting pada

4
Bahasa yang Tepat untuk Tantangan
DLosc

26

Jelly , 5 byte , skor 0,8 (4/5) [ retak! ]

R²Sƽ

Menghitung A127721 .

Cobalah online!


Inilah solusinya:

RÆḊḞ
  • secara implisit mengambil input n
  • R: daftar dari [1, 2, ..., n]
  • ÆḊ: Dalam kasus kami, ini sebenarnya akan mengembalikan akar kuadrat dari jumlah kuadrat (yang mungkin berguna dalam bermain golf di masa depan)!
  • : lantai hasilnya.

The dokumentasi untuk ÆḊberbunyi:

ÆḊ: Determinan, diperluas ke matriks non-persegi.

Kuncinya diperluas ke matriks non-persegi . "Penentu" dari matriks non-kuadrat biasanya tidak terdefinisi, tetapi satu definisi yang masuk akal adalah sqrt(det(A A^T))(yang untuk matriks kuadrat dikurangi menjadi |det(A)|). Dalam kasus kami, A A^Tadalah matriks 1 x 1 yang berisi jumlah kuadrat. Akar kuadrat dari determinan itu memberi kita apa yang kita butuhkan untuk memotong byte terakhir!


4
Selamat Datang di Programming Puzzles dan Code Golf!
Adnan

2
Hanya ingin tahu, apakah ini sebenarnya mungkin dalam 4 byte? Saya sudah terjebak dalam hal ini selama berjam-jam: hal.
Adnan

1
@ Adnan, ya itu mungkin. Senang mendengar Anda merasa itu menantang!
George V. Williams


@ jimmy23013, ya, bagus sekali!
George V. Williams

12

Retina , 28 byte, skor = 0,9286 ... (26/28), dipecahkan oleh feersum

.+
$*
^$|^((^|\3)(^.|\1))*.$

Menghitung A192687 , (offset = 0).

Cobalah online! (Baris pertama memungkinkan suite tes yang dipisahkan dengan linefeed.)

Ini adalah perbedaan antara urutan Hofstadter pria dan wanita . ( Tantangan PPCG yang relevan. )

Ini adalah kode asli saya:

.+
$*
^((^.|\3)(\1)|){2,}$

Bagaimanapun jawaban ini sedikit taruhan, karena solusi sebenarnya berdasarkan pada regex yang saya umumkan sebagai regex Fibonacci-testing terpendek yang dikenal dalam obrolan beberapa bulan yang lalu. Untungnya, sepertinya tidak ada yang ingat itu. :)



11

Hexagony , 91 byte, Nilai = 0,725274725 (66/91) [Retak]

Menghitung A000045 (Urutan Fibonacci, offset 0).

Saya tidak akan terlalu terkejut jika seseorang berhasil mengalahkan ini dan versi saya yang lebih golf , meskipun itu pasti sulit.

Sunting: Astaga, @MartinEnder mencambuk saya dengan solusi 33 byte.

Golf (91):

?\]~<~.{>'"/(@{\''1<{!1>{{1}/}{'\1</={}/_\'0"/>+(}\/}(+'+'%=<>=%"=+("\/+"(+}+<>{{}=~\.....|

Diformat:

      ? \ ] ~ < ~
     . { > ' " / (
    @ { \ ' ' 1 < {
   ! 1 > { { 1 } / }
  { ' \ 1 < / = { } /
 _ \ ' 0 " / > + ( } \
  / } ( + ' + ' % = <
   > = % " = + ( " \
    / + " ( + } + <
     > { { } = ~ \
      . . . . . |

Cobalah online!

Saya tidak akan memposting penjelasan untuk ini, itu terlalu mengerikan ...

Golf (66):

?{1}]0@._.>\>+{./'++.!.|.*'}..\}{\=++.../'"<_}\"+<./{(/\=*"=/>{=+"

Diformat:

      ? { 1 } ] 0
     @ . _ . > \ >
    + { . / ' + + .
   ! . | . * ' } . .
  \ } { \ = + + . . .
 / ' " < _ } \ " + < .
  / { ( / \ = * " = /
   > { = + " . . . .
    . . . . . . . .
     . . . . . . .
      . . . . . .

Berwarna:

Urutan Fibonacci

Cobalah online!

Penjelasan:

Tata letak memori yang saya gunakan terlihat sedikit seperti ini:

   |
   a
   |
  / \
b+a  b
/     \
      |
    input

Inisialisasi (hitam) menetapkan a = 0 dan b = 1. Kemudian, loop utama:

  • beralih dari ake sel input -'"
  • mengurangi input - (
  • menambahkan b dan - {{=+
  • memindahkannya "keluar dari jalan" - "+{=*
  • set a ke b - '+
  • memindahkan "keluar dari jalan" - '+}=*
  • bergerak b + kembali ke posisi semula - "=+
  • set b ke b + a - "+
  • memindahkan kembali ke posisi semula - }+

Setelah sel input mencapai 0, MP bergerak ke a, mencetak, dan keluar.

Apa yang bisa saya lakukan untuk menghemat lebih banyak byte adalah dengan menggunakan &, yang hanya mengatur sel saat ini ke tetangga sebelah kiri atau kanannya. Saya juga bisa memiliki kontrol aliran yang sedikit lebih baik, tapi tidak apa-apa.


Retak. Terima kasih telah membuat saya menulis program Fibonacci. Tidak yakin mengapa saya belum melakukan itu sebelumnya. :)
Martin Ender

Sebenarnya, apa yang saya gunakan &adalah untuk memindahkan input di sekitar tepi a / b / a + b sehingga mereka bertukar peran mereka pada iterasi berikutnya. Dengan begitu, aku tidak perlu menggerakkan a, b dan a + b sama sekali.
Martin Ender

@ MartinEnder Maaf, saya menulis bagian itu sebelum melihat apa yang sebenarnya program Anda lakukan. Solusi Anda jauh lebih pintar
Biru

10

M , 10 byte , skor 0,6 (6/10) [ retak ]

R‘ạḤc’*@RP

Sedikit curang karena M dan Jelly sangat mirip, tetapi diizinkan oleh aturan. Versi ini didasarkan pada celah @ LeakyNun untuk jawaban Jelly saya.

Ini menghitung urutan A068943 . Cobalah online!

Solusi yang dimaksudkan

Kode berikut berfungsi di M / Jelly.

R¹¡PÐL

Saya sebenarnya punya solusi 4-byte yang saya tambahkan beberapa bulu untuk membuatnya tampak lebih sulit untuk retak dengan menggunakan kekuatan kasar.

R¡FP

Cobalah online!

Ini yang akan saya jelaskan.

R¡FP  Main link. Argument: n

 ¡    Execute the left to the left n times, updating the return value.
R       Range; map each integer k to [1, ..., k].
      This does the following for the first values of n.
        1 → [1]
        2 → [1,2]   → [[1],[1,2]]
        3 → [1,2,3] → [[1],[1,2],[1,2,3]] → [[[1]],[[1],[1,2]],[[1],[1,2],[1,2,3]]]
  F   Flatten the resulting, nested array.
   P  Take the product of the reulting array of integers.

Retak! Itu menyenangkan!
mil

10

Stack Cats , 14 byte, skor = 13/14 = 0,929 [ retak ]

Itu 10 byte kode, ditambah 4 untuk argumen -nm.

Menghitung A017053 . Jika OEIS sedang down, itu a(n) = 7n + 6mulai dari n = 0.

![_-_:-_-_

Kode lengkap (dapat digunakan tanpa -margumen) adalah![_-_:-_-_-_-:_-_]!

Solusi tersembunyi itu

!]|{_+:}_



7

Haskell, 15 byte, skor = 13/15 (0,866) ( retak )

f x=1+2*div x 2

A109613 dengan offset 0. Mengulangi setiap angka ganjil dua kali.

1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11, 13, 13, ...


6

Brachylog , 27 byte, skor = 0,666 ... (18/27), Retak!

+ybL:L:[1]co~c[A:B]hl-?,A*.

Menghitung A010551 (offset = 0).

Anda dapat mencobanya online di sini .

Penjelasan

Karena sebagian besar orang tidak tahu bahasa ini, dan karena saya memposting jawaban ini sebagian besar untuk membuat orang melihatnya (Lihat: Wiki Brachylog ), saya akan memberikan penjelasan singkat tentang kode di atas:

+           Add 1 to the input N
ybL         L = [1, 2, ..., N+1]
:L:[1]c     Construct a list [1, 2, ..., N+1, 1, 2, ..., N+1, 1]
o           Sort the list from smallest to biggest
~c[A:B]     A concatenated to B results in that sorted list
hl-?,       The length of A is N + 1
A*.         The output is the result of the product of all elements of A



6

Java 7, 53 byte, skor = 0,9623 (51/53) Retak

int f(int n){return n<1?3:n<2?0:n<3?2:f(n-2)+f(n-3);}

Menghitung urutan Perrin, A001608

f(0)=3
f(1)=0
f(2)=2
f(n)=f(n-2)+f(n-3)

Upaya golf kode pertama, jangan ragu untuk menunjukkan kesalahan.

Penjelasan setelah retak:

miles memperpendek tiga nilai pertama (0,1,2) -> (3,0,2) menjadi

n<2?3-3*n:n<3?2

sedangkan solusi saya sendiri adalah rekayasa yang sedikit berlebihan

n<3?(n+4)%5*2%5

Menggabungkan dua trik, Anda dapatkan

n<3?3-3*n%5

untuk 47-byte

int k(int n){return n<3?3-3*n%5:f(n-2)+f(n-3);}

yang terlihat cukup kompak untuk Java :)



5

Cheddar, 7 byte, skor = 0,8571 (6/7), [retak]

n->2**n

Cukup sederhana, hanya kekuatan dua. OEIS A000079

Cobalah online!


2
Eh, pembuat bahasa menguntungkan di sini ...
Dennis

10
Terutama pembuat bahasa yang bahasanya sangat kurang dalam dokumentasi.
Mego


2
@Mego, apakah kode dokumentasi diri tidak dianggap dokumen? Peninjau kode berbohong kepada saya! D: <
Downgoat

1
@Downgoat Ketika Anda memiliki tautan di situs web Anda yang disebut "Dokumentasi" dan itu sangat tidak lengkap ... Ya.
Mego


4

Python 2, 43 byte, skor = 0,9302 (40/43), dipecahkan

f=lambda n:n==1or-(-sum(map(f,range(n)))/3)

Menghitung A072493

Mari kita lihat apakah ada yang bisa bermain golf semua 3 byte.


Tunggu, apakah tidak apa-apa jika Truedigunakan untuk mewakili 1?
R. Kap


s=1;exec"a=-(-s/3);s+=a;"*input();print auntuk 41.
orlp

@ R.Kap ya, benar. Nilai apa pun if xyang benar ( benar) adalah pengembalian yang valid.
Rɪᴋᴇʀ

4

Pyke, 11 byte, skor = 0,45 (5/11) [retak]

hZRVoeX*oe+

Menghitung OEIS A180255

Coba di sini!


1
Saya ingin mencoba yang satu ini tetapi dokumentasi untuk bahasa ini tidak terlalu mencerahkan. (misalnya Ztidak berdokumen; bahasa mengklaim berbasis stack tetapi setelah *hanya ada nol pada stack meskipun memiliki efek pada sisa kode; urutan parameter tidak ditentukan dengan jelas)
Score_Under

1
@Score_Di bawah apa yang bisa saya lakukan untuk memperbaikinya? - Sangat senang berdiskusi di ruang obrolan tentang apa yang tidak jelas
Biru

Tentu. Saya tidak tahu bagaimana memulai obrolan tetapi saya sudah mengedit komentar saya di atas dengan beberapa contoh - saya pikir saya akan bisa mendapatkannya sebelum Anda membacanya;)
Score_Under






3

Sesos , 14 byte, skor = 0,8571 (12/14) ( retak )

0000000: 16f8be 760e1e 7c5f3b 07ddc7 ce3f                  ...v..|_;....?

Menghitung A000290 .

Cobalah online!

Petunjuk

File biner ini telah dihasilkan oleh assembler berikut:

set numin
set numout
get
jmp,sub 1,fwd 1,add 1,fwd 1,add 1,rwd 2,jnz
fwd 1
jmp
  sub 1,fwd 1
  jmp,sub 1,fwd 1,add 1,fwd 1,add 1,rwd 2,jnz
  fwd 1
  jmp,sub 1,rwd 1,add 1,fwd 1,jnz
  rwd 2
jnz
fwd 3
put


3

MATL , 11 byte, skor = 0,8181 (9/11), retak

YftdA-1bn^*

Menghitung fungsi Möbius , atau A087811 (offset 1).

Cobalah online!

Sumber daya untuk perampok

Saya pikir ini harus mudah, tapi bagaimanapun ini ada bantuan.

Penjelasan kode:

Yf     % Implicit input. Push array of prime factors, with repetitions
t      % Duplicate
d      % Compute consecutive differences
A      % 1 if all those differences are nonzero, 0 otherwise
-1     % Push -1
b      % Bubble up array of prime factors to the top of the stack
n      % Number of elements
^      % -1 raised to that
*      % Multiply. Implicitly display

Dokumentasi bahasa .

MATL chatroom .



@feersum Bagus sekali! Sebagai referensi, versi 9-byte adalahYftdA_wn^
Luis Mendo


3

MarioLANG , 87 byte, skor = 0,839 (73/87), retak

;
)-)+(< >>
-)===" ""====
>>+([!)( >-(+(
"====#[(("== [
!-) - <!!![)<<)
#======###====:

Menghitung A000217 , angka segitiga. Offset 0.

Cobalah online!

Solusi Singkat:

Karena crack hanya mengambil 1 byte, saya akan membagikan solusi saya dalam 73 byte, yang menggunakan algoritma yang berbeda sama sekali:

;   +)-<
-   (=="
+)-<(
(=="+
> [!>)[!(
"==#===#[
!    -  <))
#=========:

Cobalah online!

Program pertama menjabarkan semua angka dari n hingga 1 di sepanjang kaset, lalu menjumlahkan semua angka sampai muncul sel bernilai 0. Ia melakukan ini dengan menyalin setiap sel ke dalam dua sel yang berdekatan, menurunkan salinan yang tepat, dan mengulangi proses di atasnya sampai mencapai 0. Selama proses ini, rekaman itu terlihat seperti ini (untuk n = 5):

0 0 5 0 0 0 0
0 5 0 5 0 0 0
0 5 0 4 0 0 0
0 5 4 0 4 0 0
0 5 4 0 3 0 0
0 5 4 3 0 3 0
0 5 4 3 0 2 0
0 5 4 3 2 0 2

... dan seterusnya. Kemudian bergerak ke kiri, menjumlahkan sel sampai mencapai sel dengan 0.

Program kedua hanya bekerja dengan tiga sel rekaman. Sampai sel pertama mencapai 0, ia melakukan yang berikut:

  • Pindahkan nilai sel pertama ke sel kedua.
  • Mengurangi sel kedua menjadi 0, menambahkan nilainya sendiri ke sel pertama dan ketiga.
  • Mengurangi sel pertama.

Setelah sel pertama mencapai 0, sel ketiga akan berisi n + (n-1) + (n-2) + ... + 2 + 1.


Apakah versi 87 byte Anda berfungsi pada juru bahasa lain? Yang ada di Tio! tampaknya membutuhkan baris tambahan ...
Dennis

@Dennis: Ini berfungsi pada interpreter Ruby tanpa baris baru. Untuk alasan apa pun, penerjemah pada TIO tidak akan mengeluarkan dari :jika ada di baris terbawah, itulah sebabnya saya menyertakan baris baru yang tertinggal di tautan. Martin dan saya membahas hal ini dalam jawaban MarioLANG saya yang lain.
Business Cat

OKE, hanya memeriksa. Saya telah menambahkan pembungkus untuk Tio! yang menambahkan baris baru ke kode sumber.
Dennis



3

Haskell, 28 byte, skor = 0,3571 (10/28), retak

f n|odd n=1|1>0=2*f(div n 2)

A006519 , kekuatan tertinggi dari 2 pembagian n, mulai dari n=1.

1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1, 16, 1, ...

Sementara Anda mendapatkan kredit retak untuk kode yang lebih pendek, saya menganggap teka-teki yang sebenarnya turun menjadi 10 byte.



@nimi Selamat, Anda mengerti.
xnor





2

05AB1E , 7 byte, skor = 0,571 (4/7), Retak

0s·Ì3c;

Menghitung: A006331

Cobalah online

Setelah bermain golf 5 versi unik dari urutan ini sebelum menemukan versi publik ini saya harap saya tidak meninggalkan perbaikan yang jelas di luar sana sehingga setidaknya akan menjadi tantangan bagi para perampok.



Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.