Nota: Este desafio está concluído. As inscrições ainda são bem-vindas, mas não podem vencer.
Este é o tópico dos policiais. A linha dos ladrões vai aqui .
Escreva um código que produz o número inteiro 1
. Se você adicionar, remover ou substituir um único caractere (de sua escolha), o código deverá gerar o número inteiro 2
. Altere mais um caractere (o mesmo ou outro) e o código deve ser exibido 3
. Continue dessa maneira o máximo que puder, mas no máximo até 10. Formatos de saída padrão, como ans = 1
são aceitos. Você pode ignorar a saída para STDERR (ou equivalente).
Você deve revelar o idioma, a contagem de bytes do seu código inicial, o número de números inteiros para os quais trabalha e um número opcional de caracteres do código inicial. Nota: Você não precisa revelar nenhum personagem, mas lembre-se de que revelar personagens pode tornar mais difícil para os ladrões, pois eles devem usar o mesmo personagem na mesma posição. Você pode escolher qual caractere usar para denotar caracteres não revelados (por exemplo, sublinhado), mas certifique-se de especificar isso.
Os policiais podem fornecer o código sem quebra após uma semana e chamar a submissão de "SAFE". O envio vencedor será o envio mais curto e sem rachaduras que produz o número 10. Se nenhum envio sem rachaduras conseguir imprimir 10, o código mais curto que produz 9 vencerá e assim por diante. Observe que os ladrões não precisam fazer as mesmas alterações que você e não precisam reproduzir o código exato (a menos que você revele todos os caracteres). Eles devem reproduzir apenas a saída.
As inscrições postadas depois de 24 de novembro são bem-vindas, mas não qualificadas para a vitória (porque provavelmente haverá menos ladrões por aí).
Exemplo de postagem:
A postagem a seguir é um envio no idioma MyLang
, tem 9 bytes de comprimento e funciona para os números de 1 a 8.
MyLang, 9 bytes, 8 números
Esta submissão funciona para 1 - 8. caracteres Não Revelados são indicadas com um sublinhado: _
.
abc____i
Entre os melhores
Isenção de responsabilidade: a tabela de classificação não é testada e os envios sem rachaduras podem não aparecer na lista.
<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=99546;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>
1
, parece que o CJam é uma má escolha da linguagem para esse desafio. Não há como impedir que ladrões façam isso.
10
. Essa regra está em vigor porque muitas submissões provavelmente podem ser estendidas até o infinito (em teoria), portanto, a pontuação com base no maior número alcançado não faria sentido.
cracked
de alguma forma. É isso que o reprojeto userscript faz atualmente.
1
, como posso impedir que os ladrões adicionem)
repetidamente para gerar o restante dos números? O mesmo seria válido para algumas línguas