Kannst du mich übertreiben? (Cops Abschnitt)


84

Cops Abschnitt

Die Räuberabteilung finden Sie hier .

Vielen Dank an FryAmTheEggman , Peter Taylor , Nathan Merrill , xnor , Dennis , Laikoni und Mego für ihre Beiträge.


Herausforderung

Ihre Aufgabe ist es, 2 verschiedene Programme ( vollständige Programme / Funktionen / etc. ) In derselben Sprache und derselben Version (z. B. Python 3.5 ≠ Python 3.4, so dass dies nicht zulässig ist) und bei Angabe von n (unter Verwendung von STDIN / Funktionsargumenten) zu schreiben / etc. ), berechne a (n), wobei a eine OEIS-Sequenz deiner Wahl ist. Eines dieser Programme ist kürzer als das andere. Sie müssen nur das längere Programm der beiden einreichen . Der andere muss gespeichert werden, falls er nach 7 Tagen nicht geknackt wird. Ihr Beitrag wird geknackt, wenn Ihr Programm überholt ist (egal ob 1 Byte oder mehr).

Wenn die von Ihnen gewählte Aufgabe beispielsweise die Ausführung von 2 × n war , könnte dies eine gültige Übermittlung sein (in Python 2):

Python 2, 16 Bytes, Score = 15/16 = 0,9375

print(2*input())

Berechnet A005843 (Offset = 0).

Wenn Ihr Beitrag geknackt wurde, müssen Sie das in Ihrer Kopfzeile wie folgt angeben:

Python 2, 16 Bytes, Score = 15/16 = 0,9375, [geknackt] + Link

print(2*input())

Berechnet A005843 (Offset = 0).


Offset

Diese finden Sie auf jeder OEIS-Seite. Beispielsweise ist für A005843 der Versatz 0,2. Wir müssen nur den ersten verwenden, nämlich 0. Dies bedeutet, dass die Funktion für alle Zahlen ≥ 0 definiert ist.

Mit anderen Worten beginnt die Funktion OEIS (n) mit n = 0 . Ihr Programm muss in allen von OEIS angegebenen Fällen funktionieren.

Weitere Informationen finden Sie hier .


Wertung

Die Punktzahl, die Sie für Ihre Einreichung erhalten, entspricht der folgenden Formel:

Score = Länge (in Bytes) des Geheimcodes ÷ Länge (in Bytes) des öffentlichen Code

Das obige Beispiel hat die Punktzahl 15 ÷ 16 = 0,9375.

Die Einsendung mit der niedrigsten Punktzahl gewinnt. Nur Einsendungen, die ihre Lösung eingereicht haben, sind gewinnberechtigt.


Regeln

  • Die Aufgabe, die Sie ausführen müssen, ist eine OEIS-Sequenz Ihrer Wahl.
  • Bei n wird OEIS (n) ausgegeben . Eine Abweichung ist nicht zulässig, daher müssen Sie genau dieselbe Sequenz erstellen (wenn Sie n angeben, müssen Sie OEIS (n) ausgeben).
  • Einreichungen, die nicht innerhalb von 7 Tagen geknackt werden, gelten nach der Veröffentlichung der Lösung als sicher (Einreichungen, die älter als 7 Tage sind und deren Lösung nicht veröffentlicht wurde, sind weiterhin anfällig für das Knacken).
  • In Ihrem Beitrag müssen Sie die folgenden Dinge posten: Name der Sprache , Anzahl der Bytes , vollständiger Code , also keine Pastebin-Links usw. (um Antworten wie Unary zu verhindern), OEIS-Sequenz , Punktzahl mit Längen beider Programme und zusätzlich die Kodierung dafür wird genutzt.
  • Hinweis: Dieselbe Sequenz kann nicht zweimal in derselben Sprache veröffentlicht werden. (Wenn die Sequenz A005843 beispielsweise in Pyth erstellt wurde, können Sie Pyth für dieselbe Sequenz nicht erneut verwenden.)
  • Eingabe und Ausgabe sind beide dezimal (Basis 10)

Bestenliste

<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>

Hinweis

Diese Herausforderung ist beendet. Der endgültige Gewinner ist feersum mit seiner Seed-Antwort . Herzliche Glückwünsche! :).

Du kannst immer noch neue Cops einreichen, aber sei dir bewusst, dass sie nicht mehr miteinander konkurrieren.


2
@Andan Das scheint bedauerlich. Angenommen, ich schreibe ein Golfspiel mit mehreren cleveren Tricks, die die offensichtliche Formel verbessern. Wenn ich die offensichtliche Formel poste, kann jeder eine Verbesserung finden und gewinnen. Oder ich muss mein Trinkgeld geben und alle Verbesserungen bis auf eine weggeben. Würden Sie dies ändern, wenn es nicht zu spät ist? Es tut mir leid, dass ich in dieser Sandbox nicht daran gedacht habe. Ich habe es erst bemerkt, als ich die Herausforderung ernsthaft ausprobiert habe.
xnor

4
@xnor Hmm, das würde ein großes Problem mit dem Bewertungsmechanismus verursachen. Sie können dann eine willkürlich große und eine fast unmögliche kurze Einreichung vornehmen und die Herausforderung gewinnen.
Adnan

3
@Adnan Sie können das lösen, indem Sie score = len (Geheimcode) / min {len (öffentlicher Code), len (kürzester von Räubern geposteter Code)} definieren.
Anders Kaseorg

3
@Adnan Der Kontext ist der Vorschlag von xnor, die Punktzahl zu zählen, wenn die Räuber Ihre öffentliche Punktzahl überschreiten, aber nicht mit Ihrer geheimen Punktzahl übereinstimmen. Ich schlage eine Möglichkeit vor, dies zu erreichen und gleichzeitig das Problem zu vermeiden, das Sie befürchten.
Anders Kaseorg

3
Ja, endlich wieder eine Herausforderung für Cooooops und Rooooobbbbbers.
Insertusernamehere

Antworten:


36

Seed , 5861 Bytes, Score = 5012/5861 = 0,85

Die Sequenz ist Primzahlen ( A000040 ) mit Versatz 1. a (1) = 2, a (2) = 3, a (3) = 5 usw.

106 4339425277766562922902283581834741289660008085947971671079664775075736459902652798498038280771739790213868067702391567527146683746696872737118568202495046682058807677834082334206717794057290386357040004038910321326390033894692316122893125849512049817771469697446796247656883761642659391998672259889315862253584980121050081936190889196979721443972131545258528161479083569474217100401074866410321578452749003295370495810488337344650619973376676577461877392643228932028285261311284691649403036725905675576380944186859525020321196255472295415627414823269713084816196540461818684672201926996228242729726187404845487167114556965625764494860789841409004737497250600337038738035289643512265772877903971230007222865264200102217827010958702813633039465646713707971175729900391272165457566364779628858903697222589748797809421482136725017988969980267265196209027326008642464190920825439635011414535065156799655809935871795742526416544853103823906918352472744460644939241345215614650110978624804796257165525598653433482592675123776747497586586903140407616610040250976121531777891358439091358523224019193934111409521776865798864774150127996987606796522094617839125169013781373842026970010007574244564780540958252950607459585834584855526028427463655493110963000525209314274839412714497954647707284352161251044088451086878301225167181712809612927720502228546704347274977503482518386819117870800284276687560241308964641752876311905619184965236937789822712948719170589044519552259399272657757694404103028213338440810122219269214268424256451648966039627998513353115348057963135398345514276156595104642595820063441019481255889600472121104059631555738973905087895006671206400595057069658845297458058584470727379036742268107372233190371861824194831387484478317333784774872796689435056263039565495723444232483369405079512770383639748492508848098080619713255928884946598796741958520788406091704951276729428229224292748702301286318784744573918534142896761450194446126776354892827260482520089107240497527796383449573487121759294618654056309957794765646022274249211113876873102681817500947681708211056388348991201016699342850495527766741633390367735662514559206616070479934780700857859919517187362382258597709910134111383911258731633002354208155277838257255571878219168563173495861133946240923601273185050088148273459064040178741322137494758164795598458780786653602794809987537740537018415433767449108362051063814315399931951925462073202072886716208053889630274798247936580024665863765351912184189125660586187615847325588786048095120241198943086897428919324650596915625795076460123743259068671341944912206659194476673792489442514470540309819938731582497982088632076086088279435186513066668502875362808653657423813387124496122632219269226944975782747969308509448942429277233562654639293567532567668357917753810024961683829653277391094269518376510962710057956994339018307344554672056556222387849272880157861877494719706801624724491116189525394408237355854147113614645956561900837121715298276123085019204014577395795131906357190097536924932784935203378709529040555114884933996346694363879974847691625806412083107877442577777402405491226347699452398189866905599648314105255526411599513768016126067224570735746339691839657336828937030584950250402550603260483421505256395736457980708347396132620971927806636308105501893575073944959824958733880580825249931469481777083600987966500968473202481877213198175820182125298036242272662171321630056435823478710070315022531849275633515412140708923196338877549535352180465031450246889723670908173572778497329815806296369714467774385173078365517895215622645081749679859298824530173433952201710212962315524645807786760255396609101229899503687886977229729747349967302227815724222900649259120496955396616388023947812556426182596252076072286860171961582235043470190275528327438941205680729222092142315348205283459886659277456757338926863444370956987436702675569004062857510888080701482282900718067707825890168959050535970636214821273965900140346587802750221148933877600652180282267212515086387728695565345543441575183083490091817551421389124038251086513387106526847199935776240422217886407416027185332010280169564289345500368555274327733580514983967396271907637608170801013991375555069570288329399237332712790289521766624379537848996471168926519414464863388365890585061582441222989105844636887033599262856636618609644981203616618819656730174147506366895579518927217154437260067784133452192099436160162797896733220282837763342940047719962882720310397266700665603774047807673735452896542215047419894928360985667680051383584281780118001522220147385455276205847620842066894760474814386271419398361771509559702341442734727141312211989794380570433135781896005067541537095546614638001539678780066976441749790924521292297473522803115912791790379839635473194794843511234906415092857115568242448079933264380632375450234146479596225552359821776361923588178896354011117990551249184457345201223244319766597339520899930287542362386381372955844126876031262062731835081542890548095759704856479235361996156162229417953890962902505112862674541020677153054937034038823204321411753183982406667628845943390275194956321260584953509501973880059966268311741789559039618821364775407403947492157311255310143283125490988585303127442698159113924719563571459841025286208880511134222538431747221840824203312684036627017414295981003169360893015436564680773233890198618904647085929678054127680367983802905553144716598061593632352021737488422700265144189474970515439967472618438343180405852959047054139020095303915498443045344690691354304662161461750826840689185141612937350984288238847592910919431788170821390987459951181698659544772214696392241600642992000900364649438402093845534643663733216626212187314397293309505677932731383013397665193960914949915855970134736764497124186701371371881061763702617034928084811708964018610410971938419410791443362686750151572343348438861493025667676713

Die Befunge-98-Programme wurden mit diesem Interpreter getestet .

Lösung:

62 92671758747582594731336103958852355343308794409787718910287760272065096600068486400261521203099179296478278113800406388237579729434074471528101978922110199511009255327569364221068648720732186414156697930516237153253745234146558781777104311285708042469572129997820696177040412749585193035961972308024909384538547357820271391461203855177879703963391294547499579588457829374981409596253284387318191154655397249791533591896711203680125312645807793061567274893660125978667479654664977040722935418267606762108334976561590548772755653088127344268269983549959628254712562135604114391709222466418283973346968039685907258341712475120187026707300070769277380483828579629391533415119380882514570806683534933872011332303802477012040660361613689139008855327957705058672774790021218679288003003953301651226513713984857174365383390364296326192225244927665294515693697694918935732394438095829822147927645949273829493190176397786165741955566462476231578299385726525505407052332068778469428870102672560545990553686935179657522071350801304923521681690806124866463401094200444841941834667455137491597902735287855498886460945851544063102556545691787612423033525861765804657417395955322217721677429700032333887700477665924915189639029356029794151144702621112140447347270986003871777552705154393697526621456025974679633450745341583481291685834000335168972075093212539251102818038917942913311300883294570091156661153874804268309393591292001433191276766990017144340677002050765359295580546228905861008474333888247511333039470305173620221481374758754343560048199433044290376988914313248904786418615239832295700238599693805552407166251501198275363727855984193340187485162706203747898935844148656997727555488455764358003951396850496841760348138874901474547533715922587211143833052692993182786162665394965914056238514702648647904702501871758140636318131208564891924287008550289224318358936576352473100482724524675417108540029486047223784009872784235439805791496176981701859374772960623187174667015174831665360382067784289660747175586412802848517818731070091826086320292632019033525579172665790335268736167170506003176022610987557889205903933680970434653929602313812168432779881423599218075810156457004870273456214668951969634696002866863369645150677406566613367576078149751561615160777945725724620047443832859087000460506626402089973036918592151204779260519899343451226942874643654023265001514280212345984966126290887141500898797940093805650642580450926977375576911590855135774911449619005627413806680159169643085790457809525639117624947749945044091079624534522626841372604654172723500062361904864176709974716350878399949908529715899937417421315012456868864220900338162700464737416505300734198857624165994112815507157337074226022552948626042899845891195024145834980781844015548398775284084741665926642729256313545870065439195137107807599897817556866239630270351410298105991743248934632486671734759038305157913444368204353943206369388913837519310828223093441519335111533635957953613758894822654736600526811789875376813119426924959017038654104216784121093688306563643326587639486472221258233221666454164763738631579246841130247019172136121041002571694545781948282785399495873501148416357057693713305042834246973535325571882393889489457235864027134943913383832461393499203435931881991959787045205816313165984531168137210464591653390767999403651750434079431253272021002273680565508340556736474927770564408343360602057949991306130979603289667991356237787412616305022971197507815004141825394838946364485315703051195195566893733123391158803413838803831010122718476800229685100410524315094662633390222854924884579083098055980542607258318868514903610787510921796157291630993618714015755412239872758443166948699744841899868754369627081727143351807615097715679652005998467491609044596871312950634152039807480021814406950780706131231897491212637759991818212542181136384052857191779658528790835620632765143337026858373660057972387266312097135260115742458792764792668883627539340807572869610941154184473111399152964165437112713815173281951728792354570851956468302291939952274005357250989986640723863408051924618400882866539701190471828299028566020683682444415198672952980294639217217840535225987439355834087974716313911977302809235338769491339553247328065401203243450045946392960085318343121705830317674151229536850726617093615850507955559652374337057819549481320081981520577039493601331233500403284295119207704095876958023271178964331413629547646937335760969491450824461526563643617594783473684358594189269252499897162333533284912320654686655888508024970105099967896167541978181602786701854274646885561632089896312016789257459673121974866871919820865433343707787147414982407950775979279255414469970743690769124215210050618943726165676550098723299244096267839544684847323547847832349290874282817429866612456451105673214159820212156069771415582214200701894487126822756864305461967035982308878073752362075553218935807632264803200753661147341613284071218919438723527468202903770806766095252957940538229987302177328543423522712562396242285027178395886649344

8
Es würde Jahrhunderte dauern, bis o_____O
TuxCrafting

4
Die richtige Sprache für die Herausforderung
DLosc

26

Jelly , 5 Bytes , Score 0.8 (4/5) [ geknackt! ]

R²Sƽ

Berechnet A127721 .

Probieren Sie es online!


Hier ist die Lösung:

RÆḊḞ
  • implizit Eingaben nehmen n
  • R: Liste von [1, 2, ..., n]
  • ÆḊ: In unserem Fall wird die Quadratwurzel der Quadratsumme zurückgegeben (was beim zukünftigen Golfen nützlich sein kann)!
  • : Boden das Ergebnis.

Die Dokumentation für ÆḊliest:

ÆḊ: Determinante, erweitert auf nichtquadratische Matrizen.

Der Schlüssel wird auf nicht quadratische Matrizen erweitert . Die "Determinante" einer nichtquadratischen Matrix ist normalerweise undefiniert, aber eine vernünftige Definition ist sqrt(det(A A^T))(die sich für eine quadratische Matrix auf reduziert |det(A)|). In unserem Fall A A^Thandelt es sich um eine 1 x 1-Matrix, die die Summe der Quadrate enthält. Die Quadratwurzel der Determinante davon gibt uns genau das, was wir brauchen, um das letzte Byte zu entfernen!


4
Willkommen bei Programming Puzzles und Code Golf!
Adnan

2
Ist das eigentlich aus Neugier in 4 Bytes möglich? Ich habe stundenlang daran festgehalten: p.
Adnan

1
@Adnan, ja, das ist möglich. Freut mich zu hören, dass Sie es schwierig finden!
George V. Williams


@ Jimmy23013, yup, schön gemacht!
George V. Williams

12

Retina , 28 Bytes, Score = 0,9286 ... (26/28), durch Feersum geknackt

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

Berechnet A192687 (Offset = 0).

Probieren Sie es online! (Die erste Zeile aktiviert eine durch Zeilenvorschub getrennte Testsuite.)

Dies ist der Unterschied zwischen Hofstadters männlichen und weiblichen Sequenzen. ( Relevante PPCG-Herausforderung. )

Dies war mein ursprünglicher Code:

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

Diese Antwort war ohnehin ein bisschen riskant, da die eigentliche Lösung auf einem regulären Ausdruck basiert, den ich vor einigen Monaten im Chat als den kürzesten bekannten regulären Ausdruck für Fibonacci-Tests angekündigt habe. Zum Glück schien sich niemand daran zu erinnern. :)



11

Hexagony , 91 Bytes, Score = 0,725274725 (66/91) [Gebrochen]

Berechnet A000045 (Fibonacci-Sequenz, Offset 0).

Es wird mich nicht überraschen, wenn es jemand schafft, diese und meine Golfversion zu schlagen , obwohl es schwierig sein sollte.

Edit: Heilige Kuh, @MartinEnder hat mich mit einer 33-Byte-Lösung ausgepeitscht.

Golfen (91):

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

Formatiert:

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

Probieren Sie es online!

Ich werde keine Erklärung dafür veröffentlichen, es ist zu schrecklich ...

Golfen (66):

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

Formatiert:

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

Farbig:

Fibonacci-Folge

Probieren Sie es online!

Erläuterung:

Das von mir verwendete Speicherlayout sieht ungefähr so ​​aus:

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

Die Initialisierung (in Schwarz) setzt a = 0 und b = 1. Dann die Hauptschleife:

  • geht von azur Eingabezelle -'"
  • dekrementiert die Eingabe - (
  • fügt b und a hinzu - {{=+
  • bewegt es "aus dem Weg" - "+{=*
  • setzt a zu b - '+
  • bewegt ein "aus dem Weg" - '+}=*
  • verschiebt b + a zurück an seine ursprüngliche Position - "=+
  • setzt b auf b + a - "+
  • bewegt einen zurück in seine ursprüngliche Position - }+

Sobald die Eingabezelle 0 erreicht, bewegt sich der MP zu a, druckt und beendet.

Was ich getan haben könnte, um mehr Bytes zu sparen, ist & zu verwenden, wodurch die aktuelle Zelle entweder auf ihren linken oder rechten Nachbarn gesetzt wird. Ich hätte auch eine etwas bessere Flusskontrolle haben können, aber es ist in Ordnung, wie es aussieht.


Geknackt Vielen Dank, dass Sie mich dazu gebracht haben, ein Fibonacci-Programm zu schreiben. Ich bin mir nicht sicher, warum ich das noch nie gemacht habe. :)
Martin Ender

Eigentlich benutze ich &, um die Eingabe um die Kanten a / b / a + b zu verschieben, damit sie bei der nächsten Iteration ihre Rollen tauschen. Auf diese Weise muss ich a, b und a + b überhaupt nicht bewegen.
Martin Ender

@MartinEnder Entschuldigung, ich habe diesen Teil geschrieben, bevor ich mir anschaute, was Ihr Programm tatsächlich getan hat. Ihre Lösung ist viel schlauer
Blue

10

M , 10 Bytes , Score 0,6 (6/10) [ geknackt ]

R‘ạḤc’*@RP

Ein bisschen betrogen, da M und Jelly ziemlich ähnlich sind, aber nach den Regeln erlaubt. Diese Version basiert auf @ LeakyNuns Crack zu meiner Gelee-Antwort.

Dies berechnet die Sequenz A068943 .Probieren Sie es online!

Beabsichtigte Lösung

Der folgende Code funktioniert in M ​​/ Jelly.

R¹¡PÐL

Ich hatte tatsächlich eine 4-Byte-Lösung, zu der ich etwas Flaum hinzugefügt habe, um es schwieriger zu machen, mit roher Gewalt zu knacken.

R¡FP

Probieren Sie es online!

Dies ist der, den ich erklären werde.

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.

Geknackt! Es hat Spaß gemacht!
Meilen

10

Stack Cats , 14 Bytes, Score = 13/14 = 0.929 [ geknackt ]

Das sind 10 Byte Code plus 4 für die Argumente -nm.

Berechnet A017053 . Falls OEIS ausfällt, fängt das a(n) = 7n + 6bei an n = 0.

![_-_:-_-_

Der vollständige Code (ohne -mArgument verwendbar ) ist![_-_:-_-_-_-:_-_]!

Die versteckte Lösung war

!]|{_+:}_



7

Haskell, 15 Bytes, Score = 13/15 (0,866) ( geknackt )

f x=1+2*div x 2

A109613 mit Versatz 0. Wiederholt jede ungerade Zahl zweimal.

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


6

Brachylog , 27 Bytes, Score = 0,666 ... (18/27), Gebrochen!

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

Berechnet A010551 (Offset = 0).

Sie können es hier online ausprobieren .

Erläuterung

Da die allermeisten Leute diese Sprache nicht kennen und ich diese Antwort hauptsächlich veröffentliche, um die Leute dazu zu bringen, sich damit zu beschäftigen (siehe: Brachylog's Wiki ), werde ich den obigen Code kurz erläutern:

+           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 Bytes, Score = 0,9623 (51/53) Gebrochen

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

Berechnet die Perrin-Sequenz A001608

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

Erster Code Golf Versuch, zögern Sie nicht, auf Fehler hinzuweisen.

Erklärung nach dem Knacken:

Meilen verkürzten die ersten drei Werte (0,1,2) -> (3,0,2) auf

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

während meine eigene lösung etwas überarbeitet war

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

Wenn Sie die beiden Tricks kombinieren, erhalten Sie

n<3?3-3*n%5

für ein 47-Byte

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

das sieht für Java ziemlich kompakt aus :)



5

Cheddar, 7 Bytes, Score = 0,8571 (6/7), [geknackt]

n->2**n

Ziemlich einfach, nur die Potenzen von zwei. OEIS A000079

Probieren Sie es online!


2
Äh, Sprachschaffende sind hier im Vorteil ...
Dennis

10
Besonders Sprachschöpfer, deren Sprachen in der Dokumentation schmerzlich fehlen.
Mego


2
@Mego ist selbstdokumentierender Code kein Dokument? Die Code-Rezensenten haben mich angelogen! D: <
Downgoat

1
@Downgoat Wenn Sie auf Ihrer Website einen Link namens "Documentation" haben, der leider unvollständig ist ... Ja.
Mego


4

Python 2, 43 Bytes, Score = 0,9302 (40/43), geknackt

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

Berechnet A072493

Mal sehen, ob irgendjemand alle 3 Bytes abwerfen kann.


Warten Sie, ist es wirklich in Ordnung, wenn verwendet Truewird, um darzustellen 1?
R. Kap


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

@ R.Kap ja, das ist es. Jeder Wert, der wahr ist ( if xwahr ist), ist eine gültige Rückgabe.
6.

4

Pyke, 11 Bytes, Score = 0,45 (5/11) [geknackt]

hZRVoeX*oe+

Berechnet OEIS A180255

Probieren Sie es hier aus!


1
Ich wollte es versuchen, aber die Dokumentation für die Sprache ist nicht sehr aufschlussreich. (z. B. Zist undokumentiert; die Sprache behauptet, stapelbasiert zu sein, aber nach dem *es nur Nullen auf dem Stapel gibt, obwohl dies Auswirkungen auf den Rest des Codes hat; die Reihenfolge der Parameter ist nicht eindeutig festgelegt)
Score_Under 06.08.16

1
@Score_Under was könnte ich tun, um es zu verbessern? - Sehr gerne in einem Chat-Raum darüber zu diskutieren, was unklar ist
Blue

Sicher. Ich weiß nicht, wie ich einen Chat starten soll, aber ich habe meinen obigen Kommentar mit einigen Beispielen bearbeitet - ich dachte, ich könnte ihn
einspielen,






3

Sesos , 14 Bytes, Score = 0,8571 (12/14) ( geknackt )

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

Berechnet A000290 .

Probieren Sie es online!

Hinweise

Diese Binärdatei wurde vom folgenden Assembler generiert:

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 Bytes, Score = 0,8181 (9/11), geknackt

YftdA-1bn^*

Berechnet die Möbius-Funktion oder A087811 (Offset 1).

Probieren Sie es online!

Ressourcen für Räuber

Ich denke, das sollte einfach sein, aber hier ist trotzdem etwas Hilfe.

Code Erklärung:

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

Sprache Dokumentation .

MATL- Chatroom .



@feersum Gut gemacht! Als Referenz war die 9-Byte-VersionYftdA_wn^
Luis Mendo


3

MarioLANG , 87 Bytes, Score = 0,839 (73/87), geknackt

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

Berechnet A000217 , die Dreieckszahlen. Offset 0.

Probieren Sie es online!

Kurze Lösung:

Da der Riss nur 1 Byte abnahm, teile ich meine Lösung in 73 Byte, die insgesamt einen anderen Algorithmus verwendet:

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

Probieren Sie es online!

Das erste Programm legt alle Zahlen von n bis 1 auf dem Band ab und addiert dann alle Zahlen, bis es auf eine Zelle mit dem Wert 0 stößt. Dazu wird jede Zelle in die beiden benachbarten Zellen kopiert, die richtige Kopie dekrementiert und der Vorgang wiederholt, bis 0 erreicht ist. Während dieses Vorgangs sieht das Band folgendermaßen aus (für 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

... und so weiter. Dann bewegt es sich nach links und summiert die Zellen, bis es eine Zelle mit 0 erreicht.

Das zweite Programm funktioniert nur mit drei Zellen des Bandes. Bis die erste Zelle 0 erreicht, geschieht Folgendes:

  • Verschieben Sie den Wert der ersten Zelle in die zweite Zelle.
  • Dekrementieren Sie die zweite Zelle auf 0 und fügen Sie der ersten und dritten Zelle ihren eigenen Wert hinzu.
  • Dekrementieren Sie die erste Zelle.

Nachdem die erste Zelle 0 erreicht hat, enthält die dritte Zelle n + (n-1) + (n-2) + ... + 2 + 1.


Funktioniert Ihre 87-Byte-Version in einem anderen Interpreter? Der auf Tio! scheint eine nachgestellte neue Zeile zu erfordern ...
Dennis

@ Tennis: Es funktioniert auf dem Ruby-Interpreter ohne die Newline. Aus welchem ​​Grund auch immer, der Interpreter von TIO gibt kein aus, :wenn es in der untersten Zeile steht, weshalb ich die nachgestellte Zeile in den Link aufgenommen habe. Martin und ich haben das in einer anderen meiner MarioLANG-Antworten besprochen.
Business Cat

OK, überprüfe nur. Ich habe Wrapper für Tio hinzugefügt! Damit wird eine neue Zeile an den Quellcode angehängt.
Dennis



3

Haskell, 28 Bytes, Score = 0,3571 (10/28), geknackt

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

A006519 , die höchste Potenz von 2 Teilen n, beginnend bei n=1.

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

Während Sie für einen kürzeren Code krachen, sehe ich das eigentliche Rätsel als auf 10 Bytes reduziert an.



@nimi Herzlichen Glückwunsch, du hast es verstanden.
xnor





2

05AB1E , 7 Bytes, Score = 0,571 (4/7), gerissen

0s·Ì3c;

Berechnet: A006331

Probieren Sie es online aus

Nachdem ich 5 einzigartige Versionen dieser Sequenz golfen habe, bevor ich diese öffentliche Version gefunden habe, hoffe ich, dass ich da draußen keine offensichtlichen Verbesserungen hinterlassen habe, so dass es zumindest eine Herausforderung für die Räuber wird.



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.