Remarque: ce défi est terminé. Les soumissions sont toujours les bienvenues mais ne peuvent pas gagner.
C'est le fil des flics. Le fil des voleurs va ici .
Ecrivez un code qui affiche le nombre entier 1
. Si vous ajoutez, supprimez ou remplacez un seul caractère (de votre choix), le code doit générer le nombre entier 2
. Changez un autre caractère (le même ou un autre) et le code devrait sortir 3
. Continuez comme cela autant que vous le pouvez, mais au maximum jusqu'à 10. Les formats de sortie par défaut tels que ans = 1
sont acceptés. Vous pouvez ignorer la sortie vers STDERR (ou l’équivalent).
Vous devez révéler la langue, le nombre d'octets de votre code initial, le nombre d'entiers pour lesquels cela fonctionne, ainsi qu'un nombre facultatif de caractères du code initial. Remarque: vous ne devez révéler aucun caractère, mais rappelez-vous que le fait de révéler des caractères peut compliquer la tâche des voleurs, qui doivent utiliser le même personnage dans la même position. Vous pouvez choisir le caractère que vous utilisez pour désigner les caractères non révélés (par exemple, le trait de soulignement), mais veillez à le spécifier.
Les policiers peuvent fournir le code non fissuré après une semaine et appeler la présentation "SAFE". La soumission gagnante sera la soumission la plus courte non fissurée produisant le nombre 10. Si aucune soumission non fissurée ne peut imprimer 10, le code le plus court produisant 9 gagnera, et ainsi de suite. Notez que les voleurs n'ont pas à apporter les mêmes modifications que vous et qu'ils ne doivent pas reproduire le code exact (à moins que vous ne révéliez tous les caractères). Ils ne doivent reproduire que la sortie.
Les soumissions postées après le 24 novembre sont les bienvenues mais ne sont pas éligibles (car il y aura probablement moins de cambrioleurs).
Exemple de poste:
Le post suivant est une soumission dans la langue MyLang
, il a une longueur de 9 octets et fonctionne pour les numéros 1 à 8.
MyLang, 9 octets, 8 chiffres
Cette soumission fonctionne pour 1 - 8. caractères sont indiqués par Non Révélés un trait de soulignement: _
.
abc____i
Classement
Clause de non-responsabilité: le classement n'est pas testé et les soumissions non fissurées peuvent ne pas apparaître dans la liste.
<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
alors il apparaît que CJam est un mauvais choix de langue pour ce défi. Il n'y a aucun moyen d'empêcher les voleurs de le faire.
10
. Cette règle est en place parce que de nombreuses propositions peuvent probablement être étendues à l'infini (en théorie), donc une notation basée sur le nombre le plus élevé obtenu n'aurait aucun sens.
cracked
une forme quelconque. C'est ce que fait actuellement le script utilisateur de refonte .
1
, comment puis-je empêcher les voleurs d’ ajouter de façon)
répétée pour générer le reste des chiffres? La même chose serait valable pour pas mal de langues