Lưu ý: Thử thách này đã kết thúc. Đệ trình vẫn được chào đón nhưng không thể giành chiến thắng.
Đây là chủ đề của cảnh sát. Chủ đề của bọn cướp đến đây .
Viết mã xuất ra số nguyên 1
. Nếu bạn thêm, xóa hoặc thay thế một ký tự (bạn chọn), mã sẽ xuất ra số nguyên 2
. Thay đổi thêm một ký tự (giống hoặc khác) và mã sẽ xuất ra 3
. Tiếp tục như thế này càng xa càng tốt, nhưng tối đa lên tới 10. Các định dạng đầu ra mặc định như ans = 1
được chấp nhận. Bạn có thể bỏ qua đầu ra cho STDERR (hoặc tương đương).
Bạn phải tiết lộ ngôn ngữ, số byte của mã ban đầu của bạn, số lượng số nguyên mà nó hoạt động, cũng như số lượng ký tự tùy chọn của mã ban đầu. Lưu ý: Bạn không phải tiết lộ bất kỳ nhân vật nào, nhưng hãy nhớ rằng việc tiết lộ các nhân vật có thể gây khó khăn hơn cho bọn cướp vì chúng phải sử dụng cùng một nhân vật trong cùng một vị trí. Bạn có thể chọn ký tự nào bạn sử dụng để biểu thị các ký tự chưa được tiết lộ (ví dụ gạch dưới), nhưng hãy đảm bảo chỉ định ký tự này.
Cảnh sát có thể cung cấp mã không bị bẻ khóa sau một tuần và gọi trình "SAFE". Đệ trình chiến thắng sẽ là bài nộp ngắn nhất không bị bẻ khóa tạo ra số 10. Nếu không có bài nộp không bị bẻ khóa nào có thể in 10, mã ngắn nhất tạo ra 9 sẽ giành chiến thắng, v.v. Lưu ý rằng những tên cướp không phải thực hiện các thay đổi giống như bạn và chúng không phải sao chép mã chính xác (trừ khi bạn tiết lộ tất cả các ký tự). Họ chỉ phải sao chép đầu ra.
Đệ trình được đăng muộn hơn ngày 24 tháng 11 được chào đón nhưng không đủ điều kiện để giành chiến thắng (vì có thể sẽ có ít kẻ cướp hơn xung quanh).
Ví dụ bài:
Các bài sau đây là một trình bằng ngôn ngữ MyLang
, nó là 9 byte dài, và nó hoạt động cho số 1-8.
MyLang, 9 byte, 8 số
Nội dung này hoạt động trong 1 - 8. Các ký tự không được tiết lộ được chỉ định bằng dấu gạch dưới : _
.
abc____i
Bảng xếp hạng
Tuyên bố miễn trừ trách nhiệm: Bảng xếp hạng không được kiểm tra và các bài nộp không bị theo dõi có thể không xuất hiện trong danh sách.
<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
thì có vẻ như vậy, CJam là một lựa chọn ngôn ngữ tồi cho thử thách này. Không có cách nào để ngăn chặn những tên cướp làm điều đó.
10
. Quy tắc đó được áp dụng vì nhiều bài nộp có thể được mở rộng đến vô cùng (về lý thuyết), do đó, việc tính điểm dựa trên số lượng đạt được cao nhất sẽ không có ý nghĩa.
cracked
trong một số hình thức. Đây là những gì bản thiết kế lại người dùng hiện đang làm.
1
, làm cách nào tôi có thể ngăn chặn những tên cướp liên tục thêm vào)
để tạo ra các số còn lại? Điều tương tự sẽ có hiệu lực đối với khá nhiều ngôn ngữ