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.