Sekcja gliniarzy
Dział rabusiów można znaleźć tutaj .
Dzięki FryAmTheEggman , Peter Taylor , Nathan Merrill , Xnor , Dennis , Laikoni i Mego za ich wkład.
Wyzwanie
Twoim zadaniem jest napisanie 2 różnych programów ( pełne programy / funkcje / itp. ) W tym samym języku i tej samej wersji (np. Python 3.5 ≠ Python 3.4, więc nie jest to dozwolone), a gdy podano n (używając argumentów STDIN / function / etc. ), oblicz a (n) gdzie a jest sekwencją OEIS twojego wyboru. Jeden z tych programów jest krótszy od drugiego. Musisz tylko przesłać dłuższy program z tych dwóch. Drugi należy zapisać na wypadek, gdyby nie został złamany po 7 dniach. Twoje zgłoszenie jest łamane, gdy Twój program został rozłupany (o 1 bajt lub więcej).
Na przykład, jeśli wybranym zadaniem było wykonanie 2 × n , może to być prawidłowe przesłanie (w Pythonie 2):
Python 2, 16 bajtów, wynik = 15/16 = 0,9375
print(2*input())
Oblicza A005843 , (przesunięcie = 0).
Jeśli Twoje zgłoszenie zostało złamane, musisz to zaznaczyć w nagłówku w następujący sposób:
Python 2, 16 bajtów, wynik = 15/16 = 0,9375, [pęknięty] + link
print(2*input())
Oblicza A005843 , (przesunięcie = 0).
Offsetowy
Można to znaleźć na każdej stronie OEIS. Na przykład dla A005843 przesunięcie wynosi 0,2
. Musimy użyć tylko pierwszego, którym jest 0
. Oznacza to, że funkcja jest zdefiniowana dla wszystkich liczb ≥ 0.
Innymi słowy, funkcja OEIS (n) zaczyna się od n = 0 . Twój program musi działać we wszystkich przypadkach podanych przez OEIS.
Więcej informacji można znaleźć tutaj .
Punktacja
Wynik uzyskany za zgłoszenie jest równy następującej formule:
Wynik = długość (w bajtach) tajnego kodu ÷ długość (w bajtach) kodu publicznego
Powyższy przykład ma wynik 15 ÷ 16 = 0,9375.
Zgłoszenie o najniższym wyniku wygrywa. Tylko zgłoszenia, które opublikowały swoje rozwiązanie, będą mogły wygrać.
Zasady
- Zadaniem, które musisz wykonać, jest wybór sekwencji OEIS.
- Biorąc pod uwagę n , wyjściowy OEIS (n) . Odchylenie nie wolno, więc trzeba wytwarzać dokładnie takiej samej sekwencji (gdy podano N, trzeba wyjściu OEIS (n)).
- Zgłoszenia, które nie zostaną złamane w ciągu 7 dni, są uważane za bezpieczne po opublikowaniu rozwiązania (zgłoszenia starsze niż 7 dni, dla których nie opublikowano rozwiązania, nadal są podatne na złamanie).
- W swoim zgłoszeniu musisz opublikować następujące rzeczy: nazwę języka , liczbę bajtów , pełny kod , więc żadne linki do pastebinów itp. (Aby zapobiec odpowiedziom typu Unary), sekwencję OEIS , wynik z długościami obu programów i dodatkowo kodowanie, które Jest używane.
- Uwaga: tej samej sekwencji nie można opublikować dwukrotnie w tym samym języku. (Na przykład, jeśli sekwencja A005843 została wykonana w Pyth, nie można ponownie użyć Pyth dla tej samej sekwencji).
- Wejścia i wyjścia są w systemie dziesiętnym (podstawa 10)
Tabela liderów
<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>
Uwaga
To wyzwanie jest zakończone. Ostatecznym zwycięzcą jest feersum z jego odpowiedzią na Seed . Gratulacje! :)
Nadal możesz przesyłać nowych gliniarzy, ale pamiętaj, że już nie konkurują.