Sezione poliziotti
La sezione dei ladri è disponibile qui .
Grazie a FryAmTheEggman , Peter Taylor , Nathan Merrill , xnor , Dennis , Laikoni e Mego per il loro contributo.
Sfida
Il tuo compito è quello di scrivere 2 programmi diversi (programmi completi / funzioni / ecc. ) Nella stessa lingua e nella stessa versione (ad es. Python 3.5 ≠ Python 3.4, in modo che non sia consentito), e quando viene dato n (usando STDIN / argomenti della funzione / ecc. ), calcola a (n) dove a è una sequenza OEIS di tua scelta. Uno di questi programmi è più breve dell'altro. Devi solo inviare il programma più lungo dei due. L'altro deve essere salvato in caso di non essere rotto dopo 7 giorni. Il tuo invio viene decifrato quando il tuo programma è stato superato (sia di 1 byte o più).
Ad esempio, se l'attività scelta era di eseguire 2 × n , questa potrebbe essere una presentazione valida (in Python 2):
Python 2, 16 byte, punteggio = 15/16 = 0,9375
print(2*input())
Calcola A005843 , (offset = 0).
Se la tua richiesta è stata decifrata, devi dichiararla in questo modo in questo modo:
Python 2, 16 byte, punteggio = 15/16 = 0,9375, [crackato] + collegamento
print(2*input())
Calcola A005843 , (offset = 0).
Compensare
Questo può essere trovato su ogni pagina OEIS. Ad esempio, per A005843 , l'offset è 0,2
. Dobbiamo solo usare il primo, che è 0
. Ciò significa che la funzione è definita per tutti i numeri ≥ 0.
In altre parole, la funzione OEIS (n) inizia con n = 0 . Il tuo programma deve funzionare per tutti i casi forniti da OEIS.
Ulteriori informazioni possono essere trovate qui .
punteggio
Il punteggio ottenuto per l'invio è uguale alla seguente formula:
Punteggio = Lunghezza (in byte) del codice segreto ÷ Lunghezza (in byte) del codice pubblico
L'esempio sopra ha il punteggio 15 ÷ 16 = 0,9375.
Vince l'invio con il punteggio più basso . Solo gli invii che hanno pubblicato la loro soluzione potranno vincere.
Regole
- Il compito che devi fare è una sequenza OEIS a tua scelta.
- Dato n , output OEIS (n) . La deviazione non è consentita, quindi è necessario produrre la stessa sequenza esatta (quando viene dato n, è necessario generare OEIS (n)).
- Gli invii che non vengono risolti entro un periodo di 7 giorni vengono considerati sicuri dopo che la soluzione è stata pubblicata (gli invii più vecchi di 7 giorni in cui non è stata pubblicata la soluzione sono ancora vulnerabili al cracking).
- Nel tuo invio, devi pubblicare le seguenti cose: nome della lingua , numero di byte , codice completo , quindi nessun link pastebin ecc. (Per impedire risposte come Unary), sequenza OEIS , punteggio con lunghezze di entrambi i programmi e, inoltre, la codifica che viene utilizzato.
- Nota: la stessa sequenza non può essere pubblicata due volte nella stessa lingua. (Ad esempio, se la sequenza A005843 è stata eseguita in Pyth, non è possibile utilizzare nuovamente Pyth per quella stessa sequenza.)
- Input e output sono entrambi in decimale (base 10)
Classifica
<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>
Nota
Questa sfida è finita. Il vincitore finale è feersum con la sua risposta Seed . Congratulazioni! :).
Puoi comunque inviare nuovi poliziotti, ma tieni presente che non sono più in competizione.