Repost tego wyzwania. Dyskusja Meta . Post w piaskownicy . Treść pytania podobna do oryginału
Ci gliniarze i złodzieje są teraz (08.03.2018) zamknięci dla dalszych konkurencyjnych wpisów gliniarzy, ponieważ rabusie mogą już nie konkurować o wyłudzanie odpowiedzi, ale mogą dodawać nowe odpowiedzi.
Wyzwanie gliniarzy wygrał Dennis dzięki swojej genialnej 6-bajtowej odpowiedzi Sesos
Wyzwanie rabusiów wygrał całkowicie ludzki , ze zdumiewającymi 30 pęknięciami !
Wyzwanie gliniarzy
Aby konkurować jako policjant:
Wybierz język programowania . Prawidłowy język programowania to taki, który spełnia wszystkie trzy z następujących kryteriów:
- Ma artykuł angielski Wikipedia , artykuł esolangs lub artykuł Code Rosetta w momencie opublikowania to wyzwanie, czy na Try It Online! . Posiadanie tłumacza na dowolnej z tych stron sprawia, że jest on całkowicie legalny.
- Musi spełniać nasze zasady dotyczące języka programowania
- Musi mieć bezpłatnego tłumacza (jak w przypadku piwa). Bezpłatny tutaj oznacza, że każdy może korzystać z programu bez konieczności płacenia za to.
Napisz pełny program, który wyświetla liczby od 1 do 100 włącznie, w porządku rosnącym . Możesz wyprowadzać jako liczby całkowite dziesiętne, jako wartości kodu bajtowego (
!
na przykład reprezentować 33) lub jako cyfry jednoargumentowe (1111
na przykład 4) 1 . Jeśli używasz jedności, powinieneś używać dowolnego spójnego znaku dla cyfr oraz innego spójnego znaku jako separatora. Jeśli używasz liczb całkowitych, powinieneś wyprowadzać ciągły znak bez cyfr pomiędzy każdą liczbą. Możesz również generować z wiodącymi i końcowymi znakami (np.[]
), Ale bądź rozsądny (na przykład nie wysyłaj tysięcy bajtów śmieci po obu stronach licznika). W odpowiedzi musisz podać format wyjściowy.Nie wolno zakładać środowiska REPL lub istniejącego kodu szablonu. Flagi mogą być użyte, ale musisz ujawnić, jakie flagi są użyte w twojej odpowiedzi. Program musi mieć postać jednego lub więcej plików źródłowych (aby wykluczyć dziwaczne języki, takie jak Foldery ) i musi pasować do Twojej odpowiedzi w całości (więc nie może być dłuższy niż 65 536 znaków) - nie powinno to stanowić problemu jakiekolwiek poważne przesłanie.
Jeśli kod zawiera bajty poza drukowalnym kodem ASCII + nowa linia, dołącz zrzut heksadecymalny, aby upewnić się, że kod można przetestować.
Program musi zakończyć się w ciągu 5 minut na typowym komputerze stacjonarnym.
Otóż to. Jednak, jak w przypadku wszystkiego, istnieje pewien haczyk. Powinieneś dążyć do zaciemnienia swojego programu tak bardzo, jak to możliwe, ponieważ zadaniem rabusiów jest odgadnięcie używanego języka. Powinieneś także dążyć do tego, aby twój program działał tylko w zamierzonym języku (chociaż prawdopodobnie nie będzie to tak problem, jak pęknięcia Foo w oryginalnym wyzwaniu). Format wyjściowy musi być taki sam, jak zamierzone rozwiązanie, aby mógł stanowić poprawny crack.
Po 7 dni minęły bez nikogo odkrywanie żadnego języka, gdzie program jest poprawny crack, może objawić się języka i oznaczyć ją jako safe
. Pamiętaj, że Twoje zgłoszenie może zostać złamane, dopóki nie ujawnisz języka .
Nie wolno pod żadnym pozorem edytować kodu źródłowego przesłanego przez siebie zgłoszenia (może to unieważnić aktywne próby złodzieja włamania do złodzieja). Więc upewnij się, że grasz w golfa tak dobrze, jak możesz (lub odważysz się) przed wysłaniem. Jeśli uznasz, że twoja odpowiedź nie działa po opublikowaniu, po prostu usuń odpowiedź i opublikuj poprawioną wersję, jeśli chcesz.
Najkrótsze bezpieczne przesyłanie w bajtach wygrywa!
1: Jeśli chcesz wysyłać dane w inny sposób, zapytaj w komentarzach
Fragment stosu
Możesz użyć tego fragmentu stosu, aby łatwiej przeglądać odpowiedzi:
answersSafe=[];answersCracked=[];answersUncracked=[];answerPage=1;robberTodo=[];userNames={};robberMap={};robberStats={};robberTimes={};function template($element,data){var $clone=$element.clone().removeClass('template');var html=$clone.html();for(var key in data){html=html.replace('{'+key+'}',data[key])}$clone.html(html);$element.after($clone)}function hideEmpty(){$('tbody').each(function(){if($(this).find('tr:not(.template):has(td)').length==0){$(this).find('tr:not(.empty):has(th)').addClass('inactive');$(this).find('tr.empty').removeClass('inactive')}})}function formatError(obj,reason){template($('.warn.template'),{id:obj.cop_id,cop:obj.cop_user,reason:reason})}function showAnswers(category,selector,sorter){sorter(category);$('#'+selector).find('tr:not(.template):has(td)').remove();$.each(category,function(i,answer){template($('#'+selector+' .template'),answer)});$('code:has(br)').addClass('clickable').click(function(){$(this).toggleClass('full')});updateCountdowns()}function getAnswers(){$.ajax({url:"https://api.stackexchange.com/2.2/questions/155018/answers?pagesize=100&order=desc&sort=creation&site=codegolf&filter=!*LUzJZNOIUpZsWsZBLe&page="+(answerPage++),method:"get",dataType:"jsonp"}).then(function(data){$.each(data.items,function(i,answer){var obj={cop_id:answer.answer_id,cop_user:answer.owner.display_name,cop_time:answer.creation_date,safe_on:answer.creation_date+604800};var $e=$('<div/>').html(answer.body);var $headers=$e.find(':header');if($headers.length==0){return formatError(obj,"no header")}var header=$headers.first().html();var $code=$e.find('pre code');if($code.length==0){return formatError(obj,"no code")}obj.code=$code.first().html().replace(/\n/g,'<br/>');if(obj.code.endsWith('<br/>')){obj.code=obj.code.slice(0,-5)}var bm=/(\d+)\s+bytes/.exec(header);if(bm==null){return formatError(obj,"no bytecount")}obj.size=parseInt(bm[1]);if(obj.size==NaN){return formatError(obj,"bytecount is NaN: "+bm[1])}obj.language=header.slice(0,bm.index).trim();while(obj.language.charAt(obj.language.length-1)!=','&&obj.language.length!=0){obj.language=obj.language.slice(0,-1)}if(obj.language.length==0){return formatError(obj,"no/bad separator before bytecount")}obj.language=obj.language.slice(0,-1).trim();obj.language_text=$('<div/>').html(obj.language).text();var end=header.slice(bm.index+bm[0].length).trim();if(end.length==0){if(obj.language!=="???"){return formatError(obj,"not marked as safe nor cracked, but language is "+obj.language+" (expected ???)")}return answersUncracked.push(obj)}if(!end.startsWith(',')){return formatError(obj,"no/bad separator after bytecount")}end=end.slice(1).trim();if(end==='safe'){return answersSafe.push(obj)}var $end=$('<div/>').html(end);var end_text=$end.text();if(!end_text.startsWith('cracked')){return formatError(obj,"expected 'cracked' or 'safe', got '"+end_text+"'")}var expectedURL='https://codegolf.stackexchange.com/a/';var $links=$end.find('a');if($links.length==0){return formatError(obj,"no cracked link")}var robberURL=$links.first().attr('href');if(!robberURL.startsWith(expectedURL)){return formatError(obj,"link does not start with "+expectedURL+": "+robberURL)}obj.robber_id=parseInt(robberURL.slice(expectedURL.length));if(obj.robber_id==NaN){return formatError(obj,"robber_id is NaN")}robberTodo.push(obj.robber_id);answersCracked.push(obj)});if(data.has_more){getAnswers()}else{getRobbers()}})}function sortBySize(category){category.sort(function(a,b){return b.size-a.size})}function sortByTime(category){category.sort(function(a,b){return b.cop_time-a.cop_time})}function sortByLiveTime(category){category.sort(function(a,b){return b.cracked_after-a.cracked_after})}function sortByCop(category){category.sort(function(a,b){return b.cop_user.localeCompare(a.cop_user)})}function sortByRobber(category){category.sort(function(a,b){return b.robber_user.localeCompare(a.robber_user)})}function sortByLanguage(category){category.sort(function(a,b){return b.language_text.localeCompare(a.language_text)})}function getRobbers(){if(robberTodo.length==0){$.each(answersCracked,function(i,answer){answer.robber_user=userNames[robberMap[answer.robber_id]];answer.cracked_after=robberTimes[answer.robber_id]-answer.cop_time;answer.cracked_after_str=formatTime(answer.cracked_after)});showAnswers(answersUncracked,'uncracked',sortByTime);showAnswers(answersCracked,'cracked',sortByLiveTime);showAnswers(answersSafe,'safe',sortBySize);hideEmpty();var graphData=[];$.each(robberStats,function(k,v){graphData.push({name:decodeEntities(userNames[k]),value:v})});graphData.sort(function(a,b){if(a.value==b.value){return a.name.localeCompare(b.name)}else{return b.value-a.value}});var graphLabels=[];var graphValues=[];$.each(graphData,function(i,obj){graphLabels.push(obj.name);graphValues.push(obj.value)});var graphColors=[];for(var i=0;i<graphData.length;i+=1){graphColors.push(['#b58900','#cb4b16','#dc322f','#d33682','#6c71c4','#268bd2','#2aa198','#859900'][i%8])}$('#robber-stats').attr('width',600);$('#robber-stats').attr('height',24*graphData.length+66);$('#answer-stats').attr('width',600);$('#answer-stats').attr('height',400);Chart.defaults.global.defaultFontColor='#839496';new Chart($('#robber-stats'),{type:'horizontalBar',data:{labels:graphLabels,datasets:[{data:graphValues,backgroundColor:graphColors}]},options:{responsive:false,legend:false,tooltips:false,layout:{padding:{right:40}},title:{display:true,text:'Number of answers cracked per robber',fontSize:18},scales:{yAxes:[{gridLines:{display:false}}],xAxes:[{gridLines:{display:false},ticks:{beginAtZero:true}}]},plugins:{datalabels:{anchor:'end',align:'end'}}}});new Chart($('#answer-stats'),{type:'pie',data:{labels:['Uncracked','Cracked','Safe'],datasets:[{data:[answersUncracked.length,answersCracked.length,answersSafe.length],backgroundColor:['#2aa198','#dc322f','#859900'],borderColor:'#002b36'}]},options:{responsive:false,tooltips:{backgroundColor:'#073642',displayColors:false},title:{display:true,text:'Number of answers in each category',fontSize:18},plugins:{datalabels:false}}});updateCountdowns();setInterval(updateCountdowns,1000);$('#loading').hide()}else{$.ajax({url:"https://api.stackexchange.com/2.2/answers/"+robberTodo.slice(0,100).join(';')+"?site=codegolf&filter=!*RB.h_b*K*dQTllFUdy",method:"get",dataType:"jsonp"}).then(function(data){$.each(data.items,function(i,robber){robberTodo=robberTodo.filter(function(e){return e!==robber.answer_id});robberMap[robber.answer_id]=robber.owner.user_id;robberTimes[robber.answer_id]=robber.creation_date;userNames[robber.owner.user_id]=robber.owner.display_name;if(robber.owner.user_id in robberStats){robberStats[robber.owner.user_id]+=1}else{robberStats[robber.owner.user_id]=1}});getRobbers()})}}var decodeEntities=(function(){var element=document.createElement('div');function decodeHTMLEntities(str){if(str&&typeof str==='string'){str=str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi,'');str=str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi,'');element.innerHTML=str;str=element.textContent;element.textContent=''}return str}return decodeHTMLEntities})();function formatTime(seconds){var arr=[];if(seconds>86400){arr.push(Math.floor(seconds/86400)+" days");seconds%=86400}if(seconds>3600){arr.push(Math.floor(seconds/3600)+" hours");seconds%=3600}if(seconds>60){arr.push(Math.floor(seconds/60)+" minutes");seconds%=60}if(seconds!=0){arr.push(seconds+" seconds")}return arr.join(', ').split('').reverse().join('').replace(',','dna ').split('').reverse().join('')}function updateCountdowns(){$('tr:not(.template) .countdown').each(function(){var target=$(this).attr('data-target');var now=Math.floor(+new Date()/1000);if(target-now<86400){$(this).addClass('urgent')}else{$(this).removeClass('urgent')}if(target<now){$(this).removeClass('countdown').text('Safe! (according to your computer\'s time)')}else{$(this).text(formatTime(target-now))}})}$('thead, #stats-header').click(function(){$(this).toggleClass('hidden')});getAnswers();
*{margin:0;padding:0;font:12pt sans-serif;}html,body{background:#002b36;color:#839496;width:100%;height:100%;}body>:not(.i):not(#loading){margin:5px;}#loading{background:rgb(64,64,64,0.8);position:fixed;top:0;left:0;width:100%;height:100%;display:table;z-index:100;}#loading-wrapper{display:table-cell;vertical-align:middle;text-align:center;font-size:20pt;color:#ddd;}#fullpage-msg,.warn{padding:5px 5px 5px 5px;margin:10px 0px;}@media (min-width:800px){#fullpage-msg{display:none;}}a{color:#268bd2;}code{font-family:monospace;font-size:16px;background:#073642;padding:1px 5px;white-space:pre;position:relative;}.clickable{cursor:pointer;}code:not(.full){max-height:38px;overflow:hidden;}code.clickable:not(.full):before{content:'';background:linear-gradient(transparent 20px,rgba(7,54,66,0.8) 32px,#002b36);position:absolute;top:0;left:0;width:100%;height:100%;}td,th{padding:5px;vertical-align:top;white-space:nowrap;text-align:left;}thead th,#stats-header{font-size:20pt;margin:10px 0;user-select:none;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;cursor:pointer;}th{font-weight:bold;}path{fill:#839496;}thead:not(.hidden) .right-arrow,#stats-header:not(.hidden) .right-arrow,thead.hidden .down-arrow,#stats-header.hidden .down-arrow{visibility:hidden;}.hidden+tbody,.hidden+#stats,.template,.inactive{display:none;}small,code{display:block;}small,small a{font-size:8pt;}#stats-header{font-weight:bold;padding:6px;}.urgent{color:#dc322f;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.min.js"></script><script>!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("chart.js")):"function"==typeof define&&define.amd?define(["chart.js"],e):e(t.Chart)}(this,function(t){"use strict";var e=(t=t&&t.hasOwnProperty("default")?t.default:t).helpers,n={toTextLines:function(t){var n,a=[];for(t=[].concat(t);t.length;)"string"==typeof(n=t.pop())?a.unshift.apply(a,n.split("\n")):Array.isArray(n)?t.push.apply(t,n):e.isNullOrUndef(t)||a.unshift(""+n);return a},toFontString:function(t){return!t||e.isNullOrUndef(t.size)||e.isNullOrUndef(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family},textSize:function(t,e,n){var a,r=[].concat(e),i=r.length,o=t.font,l=0;for(t.font=n.string,a=0;a<i;++a)l=Math.max(t.measureText(r[a]).width,l);return t.font=o,{height:i*n.lineHeight,width:l}},parseFont:function(a){var r=t.defaults.global,i=e.valueOrDefault(a.size,r.defaultFontSize),o={family:e.valueOrDefault(a.family,r.defaultFontFamily),lineHeight:e.options.toLineHeight(a.lineHeight,i),size:i,style:e.valueOrDefault(a.style,r.defaultFontStyle),weight:e.valueOrDefault(a.weight,null),string:""};return o.string=n.toFontString(o),o},bound:function(t,e,n){return Math.max(t,Math.min(e,n))}};function a(t,e){var n=e.x,a=e.y;if(null===n)return{x:0,y:-1};if(null===a)return{x:1,y:0};var r=t.x-n,i=t.y-a,o=Math.sqrt(r*r+i*i);return{x:o?r/o:0,y:o?i/o:-1}}function r(t,e,n,a,r){switch(r){case"center":n=a=0;break;case"bottom":n=0,a=1;break;case"right":n=1,a=0;break;case"left":n=-1,a=0;break;case"top":n=0,a=-1;break;case"start":n=-n,a=-a;break;case"end":break;default:r*=Math.PI/180,n=Math.cos(r),a=Math.sin(r)}return{x:t,y:e,vx:n,vy:a}}var i={arc:function(t,e,n){var a,i=(t.startAngle+t.endAngle)/2,o=Math.cos(i),l=Math.sin(i),s=t.innerRadius,d=t.outerRadius;return a="start"===e?s:"end"===e?d:(s+d)/2,r(t.x+o*a,t.y+l*a,o,l,n)},point:function(t,e,n,i){var o=a(t,i),l=t.radius,s=0;return"start"===e?s=-l:"end"===e&&(s=l),r(t.x+o.x*s,t.y+o.y*s,o.x,o.y,n)},rect:function(t,e,n,i){var o=t.horizontal,l=Math.abs(t.base-(o?t.x:t.y)),s=o?Math.min(t.x,t.base):t.x,d=o?t.y:Math.min(t.y,t.base),u=a(t,i);return"center"===e?o?s+=l/2:d+=l/2:"start"!==e||o?"end"===e&&o&&(s+=l):d+=l,r(s,d,u.x,u.y,n)},fallback:function(t,e,n,i){var o=a(t,i);return r(t.x,t.y,o.x,o.y,n)}},o=t.helpers;var l=function(t,e){this._el=t,this._index=e,this._model=null};o.extend(l.prototype,{_modelize:function(e,a,r,l){var s,d=this._index,u=o.options.resolve,f=n.parseFont(u([r.font,{}],l,d));return{align:u([r.align,"center"],l,d),anchor:u([r.anchor,"center"],l,d),backgroundColor:u([r.backgroundColor,null],l,d),borderColor:u([r.borderColor,null],l,d),borderRadius:u([r.borderRadius,0],l,d),borderWidth:u([r.borderWidth,0],l,d),color:u([r.color,t.defaults.global.defaultFontColor],l,d),font:f,lines:a,offset:u([r.offset,0],l,d),opacity:u([r.opacity,1],l,d),origin:function(t){var e=t._model.horizontal,n=t._scale||e&&t._xScale||t._yScale;if(!n)return null;if(void 0!==n.xCenter&&void 0!==n.yCenter)return{x:n.xCenter,y:n.yCenter};var a=n.getBasePixel();return e?{x:a,y:null}:{x:null,y:a}}(this._el),padding:o.options.toPadding(u([r.padding,0],l,d)),positioner:(s=this._el,s instanceof t.elements.Arc?i.arc:s instanceof t.elements.Point?i.point:s instanceof t.elements.Rectangle?i.rect:i.fallback),rotation:u([r.rotation,0],l,d)*(Math.PI/180),size:n.textSize(e,a,f),textAlign:u([r.textAlign,"start"],l,d)}},update:function(t,e,a){var r,i,l,s=null,d=this._index;o.options.resolve([e.display,!0],a,d)&&(r=a.dataset.data[d],i=o.valueOrDefault(o.callback(e.formatter,[r,a]),r),s=(l=o.isNullOrUndef(i)?[]:n.toTextLines(i)).length?this._modelize(t,l,e,a):null),this._model=s},draw:function(t){var e,a,r,i,l,s,d,u,f,h,c,y,g,x,b=this._model;b&&b.opacity&&(r=b.size,i=b.padding,l=r.height,s=r.width,u=-l/2,e={frame:{x:(d=-s/2)-i.left,y:u-i.top,w:s+i.width,h:l+i.height},text:{x:d,y:u,w:s,h:l}},a=function(t,e,n){var a=e.positioner(t._view,e.anchor,e.align,e.origin),r=a.vx,i=a.vy;if(!r&&!i)return{x:a.x,y:a.y};var o=e.borderWidth||0,l=n.w+2*o,s=n.h+2*o,d=e.rotation,u=Math.abs(l/2*Math.cos(d))+Math.abs(s/2*Math.sin(d)),f=Math.abs(l/2*Math.sin(d))+Math.abs(s/2*Math.cos(d)),h=1/Math.max(Math.abs(r),Math.abs(i));return u*=r*h,f*=i*h,u+=e.offset*r,f+=e.offset*i,{x:a.x+u,y:a.y+f}}(this._el,b,e.frame),t.save(),t.globalAlpha=n.bound(0,b.opacity,1),t.translate(Math.round(a.x),Math.round(a.y)),t.rotate(b.rotation),f=t,h=e.frame,y=(c=b).backgroundColor,g=c.borderColor,x=c.borderWidth,(y||g&&x)&&(f.beginPath(),o.canvas.roundedRect(f,Math.round(h.x)-x/2,Math.round(h.y)-x/2,Math.round(h.w)+x,Math.round(h.h)+x,c.borderRadius),f.closePath(),y&&(f.fillStyle=y,f.fill()),g&&x&&(f.strokeStyle=g,f.lineWidth=x,f.lineJoin="miter",f.stroke())),function(t,e,n,a){var r,i,o,l=a.textAlign,s=a.font.lineHeight,d=a.color,u=e.length;if(u&&d)for(r=n.x,i=n.y+s/2,"center"===l?r+=n.w/2:"end"!==l&&"right"!==l||(r+=n.w),t.font=a.font.string,t.fillStyle=d,t.textAlign=l,t.textBaseline="middle",o=0;o<u;++o)t.fillText(e[o],Math.round(r),Math.round(i),Math.round(n.w)),i+=s}(t,b.lines,e.text,b),t.restore())}});var s=t.helpers,d={align:"center",anchor:"center",backgroundColor:null,borderColor:null,borderRadius:0,borderWidth:0,color:void 0,display:!0,font:{family:void 0,lineHeight:1.2,size:void 0,style:void 0,weight:null},offset:4,opacity:1,padding:{top:4,right:4,bottom:4,left:4},rotation:0,textAlign:"start",formatter:function(t){if(s.isNullOrUndef(t))return null;var e,n,a,r=t;if(s.isObject(t))if(s.isNullOrUndef(t.label))if(s.isNullOrUndef(t.r))for(r="",a=0,n=(e=Object.keys(t)).length;a<n;++a)r+=(0!==a?", ":"")+e[a]+": "+t[e[a]];else r=t.r;else r=t.label;return""+r}},u=t.helpers,f="$datalabels";t.defaults.global.plugins.datalabels=d,t.plugins.register({id:"datalabels",afterDatasetUpdate:function(t,e,n){var a,r,i,o,s,d=t.data.datasets[e.index],h=(a=n,!1===(r=d.datalabels)?null:(!0===r&&(r={}),u.merge({},[a,r]))),c=e.meta.data||[],y=c.length,g=t.ctx;for(g.save(),i=0;i<y;++i)(o=c[i])&&!o.hidden?(s=new l(o,i)).update(g,h,{chart:t,dataIndex:i,dataset:d,datasetIndex:e.index}):s=null,o[f]=s;g.restore()},afterDatasetDraw:function(t,e){var n,a,r=e.meta.data||[],i=r.length;for(n=0;n<i;++n)(a=r[n][f])&&a.draw(t.ctx)}})});</script><div id="loading"><span id="loading-wrapper">Loading...</span></div><div id="fullpage-msg"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 111.577 111.577"><path d="M78.962,99.536l-1.559,6.373c-4.677,1.846-8.413,3.251-11.195,4.217c-2.785,0.969-6.021,1.451-9.708,1.451c-5.662,0-10.066-1.387-13.207-4.142c-3.141-2.766-4.712-6.271-4.712-10.523c0-1.646,0.114-3.339,0.351-5.064c0.239-1.727,0.619-3.672,1.139-5.846l5.845-20.688c0.52-1.981,0.962-3.858,1.316-5.633c0.359-1.764,0.532-3.387,0.532-4.848c0-2.642-0.547-4.49-1.636-5.529c-1.089-1.036-3.167-1.562-6.252-1.562c-1.511,0-3.064,0.242-4.647,0.71c-1.59,0.47-2.949,0.924-4.09,1.346l1.563-6.378c3.829-1.559,7.489-2.894,10.99-4.002c3.501-1.111,6.809-1.667,9.938-1.667c5.623,0,9.962,1.359,13.009,4.077c3.047,2.72,4.57,6.246,4.57,10.591c0,0.899-0.1,2.483-0.315,4.747c-0.21,2.269-0.601,4.348-1.171,6.239l-5.82,20.605c-0.477,1.655-0.906,3.547-1.279,5.676c-0.385,2.115-0.569,3.731-0.569,4.815c0,2.736,0.61,4.604,1.833,5.597c1.232,0.993,3.354,1.487,6.368,1.487c1.415,0,3.025-0.251,4.814-0.744C76.854,100.348,78.155,99.915,78.962,99.536z M80.438,13.03c0,3.59-1.353,6.656-4.072,9.177c-2.712,2.53-5.98,3.796-9.803,3.796c-3.835,0-7.111-1.266-9.854-3.796c-2.738-2.522-4.11-5.587-4.11-9.177c0-3.583,1.372-6.654,4.11-9.207C59.447,1.274,62.729,0,66.563,0c3.822,0,7.091,1.277,9.803,3.823C79.087,6.376,80.438,9.448,80.438,13.03z"/></svg> Click the "Full page" link in the top right for vastly superior experience</div><div class="warn template">⚠ <a href="https://codegolf.stackexchange.com/a/{id}">This answer</a> by {cop} is not formatted correctly ({reason}).</div><table><thead><tr><th colspan="5"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 9 9"><path class="right-arrow" d="M 0 0 L 0 9 L 9 4.5 Z"/><path class="down-arrow" d="M 0 0 L 9 0 L 4.5 9 Z"/></svg> Uncracked answers</th></tr></thead><tbody id="uncracked"><tr><th colspan="3" onclick="showAnswers(answersUncracked, 'uncracked', sortByCop)" class="clickable">Posted by</th><th onclick="showAnswers(answersUncracked, 'uncracked', sortBySize)" class="clickable">Size</th><th onclick="showAnswers(answersUncracked, 'uncracked', sortByTime)" class="clickable">Safe in</th><th>Code</th></tr><tr class="empty inactive"><th colspan="5">There are no uncracked answers</th></tr><tr class="template"><td colspan="3"><a href="https://codegolf.stackexchange.com/a/{cop_id}">{cop_user}</a></td><td>{size} bytes</td><td><span class="countdown" data-target="{safe_on}"></span></td><td><code>{code}</code></td></tr></tbody><thead><tr><th colspan="5"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 9 9"><path class="right-arrow" d="M 0 0 L 0 9 L 9 4.5 Z"/><path class="down-arrow" d="M 0 0 L 9 0 L 4.5 9 Z"/></svg> Cracked answers</th></tr></thead><tbody id="cracked"><tr><th onclick="showAnswers(answersCracked, 'cracked', sortByCop)" class="clickable">Posted by</th><th onclick="showAnswers(answersCracked, 'cracked', sortByRobber)" class="clickable">Cracked by</th><th onclick="showAnswers(answersCracked, 'cracked', sortByLanguage)" class="clickable">Language</th><th onclick="showAnswers(answersCracked, 'cracked', sortBySize)" class="clickable">Size</th><th onclick="showAnswers(answersCracked, 'cracked', sortByLiveTime)" class="clickable">Cracked after</th><th>Code</th></tr><tr class="empty inactive"><th colspan="5">There are no cracked answers</th></tr><tr class="template"><td><a href="https://codegolf.stackexchange.com/a/{cop_id}">{cop_user}</a></td><td><a href="https://codegolf.stackexchange.com/a/{robber_id}">{robber_user}</a></td><td>{language}</td><td>{size} bytes</td><td>{cracked_after_str}</td><td><code>{code}</code></td></tr></tbody><thead><tr><th colspan="5"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 9 9"><path class="right-arrow" d="M 0 0 L 0 9 L 9 4.5 Z"/><path class="down-arrow" d="M 0 0 L 9 0 L 4.5 9 Z"/></svg> Safe answers</th></tr></thead><tbody id="safe"><tr><th colspan="2" onclick="showAnswers(answersSafe, 'safe', sortByCop)" class="clickable">Posted by</th><th onclick="showAnswers(answersSafe, 'safe', sortByLanguage)" class="clickable">Language</th><th colspan="2" onclick="showAnswers(answersSafe, 'safe', sortBySize)" class="clickable">Size</th><th>Code</th></tr><tr class="empty inactive"><th colspan="5">There are no safe answers</th></tr><tr class="template"><td colspan="2"><a href="https://codegolf.stackexchange.com/a/{cop_id}">{cop_user}</a></td><td>{language}</td><td colspan="2">{size} bytes</td><td><code>{code}</code></td></tr></tbody></table><div id="stats-header"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 9 9"><path class="right-arrow" d="M 0 0 L 0 9 L 9 4.5 Z"/><path class="down-arrow" d="M 0 0 L 9 0 L 4.5 9 Z"/></svg> Statistics</div><div id="stats"><div><canvas id="robber-stats"/></div><div><canvas id="answer-stats"/></div></div><small>Snippet made by <a href="https://codegolf.stackexchange.com/u/55934/" target="_blank">NieDzejkob</a>, licensed as <a href="https://creativecommons.org/licenses/by-sa/3.0/" target="_blank">CC 3.0 BY-SA</a>. "Info" icon made by <a href="https://www.flaticon.com/authors/chanut" target="_blank">Chanut</a> from <a href="https://www.flaticon.com/" target="_blank">Flaticon</a>, licensed as <a href="http://creativecommons.org/licenses/by/3.0/" target="_blank">CC 3.0 BY</a>. "Arrow" icons made by <a href="https://codegolf.stackexchange.com/u/12012/" target="_blank">Dennis</a> for <a href="https://tio.run/" target="_blank">Try It Online</a>, licensed as <a href="https://github.com/TryItOnline/tryitonline/blob/master/LICENSE" target="_blank">MIT</a>. Some code shamelessly copy-pasted from <a href="https://stackoverflow.com/a/9609450">this answer</a> on Stack Overflow by <a href="https://stackoverflow.com/u/24950">Robert K</a>, licensed as <a href="https://creativecommons.org/licenses/by-sa/3.0/">CC 3.0 BY-SA</a>. This snippet utilises <a href="http://jquery.com/">jQuery</a> (<a href="https://github.com/jquery/jquery/blob/master/LICENSE.txt">MIT</a>), <a href="http://www.chartjs.org/">chart.js</a> (<a href="https://github.com/chartjs/Chart.js/blob/master/LICENSE.md">MIT</a>) and <a href="https://github.com/chartjs/chartjs-plugin-datalabels/">chartjs-plugin-datalabels</a> (<a href="https://github.com/chartjs/chartjs-plugin-datalabels/blob/master/LICENSE.md">MIT</a>). Color scheme: <a href="http://ethanschoonover.com/solarized">Solarized by Ethan Schoonover</a> (<a href="https://github.com/altercation/solarized/blob/master/LICENSE">MIT</a>).</small>
Formatowanie
(Pomiń tę sekcję, jeśli nie planujesz uczestniczyć jako gliniarz)
Jest to wymagane w przypadku odpowiedzi nowego gliniarza, aby umożliwić parsowanie powyższego fragmentu.
Nowe odpowiedzi powinny zawierać taki nagłówek:
# ???, [N] bytes
gdzie
[N]
jest rozmiar twojego kodu w bajtach i???
powinien pojawić się dosłownie.Jeśli odpowiedź nie jest łamana przez 7 dni i chcesz zabezpieczyć swoją odpowiedź, ujawniając język, po prostu zamień
???
i dodajsafe
na końcu, np.# Ruby, [N] bytes, safe
Możesz mieć link z nazwą języka do odpowiedniej strony internetowej, takiej jak strona esolangs lub repozytorium GitHub. Link zostanie wyświetlony w tabeli wyników.
Jeśli inny użytkownik pomyślnie złamał zgłoszenie, dodaj również język wraz z powiadomieniem
# Ruby, [N] bytes, [cracked](crack-link) by [user]
gdzie
[user]
jest nazwą użytkownika, który przesłał pierwszą poprawną crack, icrack-link
jest linkiem do odpowiedniej odpowiedzi w wątku Robberów. Skorzystaj z krótkiego formatu linku uzyskanego z przycisku „udostępnij”. Niech nazwa użytkownika będzie linkiem do strony jego profilu.Jeśli język używany w crackie jest inny niż zamierzony, twoja odpowiedź jest wciąż łamana i powinieneś postępować zgodnie z tym formatem. Możesz jednak wspomnieć w odpowiedzi, że zamierzałeś być czymś innym. To Ty decydujesz, czy chcesz ujawnić zamierzoną odpowiedź, czy też chcesz, aby Rabusie mieli więcej zabawy.
Powodzenia, gliniarze!
źródło
Odpowiedzi:
Sesos , 6 bajtów, bezpieczny
Dane wyjściowe są dziesiętne.
Wypróbuj online!
Sesos można zapisać w formacie binarnym lub asemblacyjnym. Plik zestawu, który wygenerował powyższy plik binarny, jest następujący.
Wypróbuj online!
Dokonałem kilku dziwnych wyborów (bezużyteczne
fwd 1
,nop
które mogło byćjmp
,add 44
asub 3
zamiastadd 100
isub 1
), ale udało mi się stworzyć plik binarny składający się wyłącznie z drukowalnych znaków ASCII (więc nie wyglądałby jak plik binarny).źródło
Beatnik , 114 bajtów, złamany przez Johannesa Grieblera
To wiersz po fińsku! I program. Drukuje liczby jako bajty.
Angielskie tłumaczenie:
Dziwi mnie, że zajęło mi to tyle czasu, zwłaszcza, że kolejne zgłoszenie Beatnika zostało szybko złamane.
Nie działa to z interpreterem Pythona (używanym w TIO) ze względu na sposób, w jaki obsługuje znaki specjalne. Uważa się, że
Kroohhpyyh-ZZZ-ZZZZ
są to trzy różne słowa, a należy je interpretować jako jedno duże. Uruchom interpreter C.Wyjaśnienie:
źródło
Sześciokąty , 62 bajty, złamane przez człowieka
Drukuje miejsca dziesiętne oddzielone pojedynczymi małymi literami d.
Byłbym pod wrażeniem, gdyby to zadziałało w jakimkolwiek niezamierzonym języku.
Ponieważ zostało to już złamane, oto faktycznie wykonany kod:
Cała reszta to brak, oznaczony przez
.
.źródło
8086 DOS COM , 58 bajtów, pęknięty przez tsh
Format I / O: nieprzetworzone znaki
Wyjaśnienie
Podstawowy program wygląda następująco:
Jednak ten wariant wykorzystuje wiele niedrukowalnych znaków, co byłoby dużą wskazówką. Na szczęście niektóre instrukcje do wydruku obejmują:
Po pierwsze, aby uniknąć znaków niedrukowalnych spowodowanych przez
inc al
, użyłeminc ax
zamiast tego, ponieważ nie oczekuje się przepełnienia. Potem znalazłem sposób na zainicjowanie AX i BX na początku tylko za pomocą znaków do wydrukowania.Następnie zastosowałem samodopasowujący się kod, aby naprawić niedrukowalne elementy
int 0x10
. Ta instrukcja w końcowym programie znajduje się w 0x0131, co jest wartością w SI, otrzymuję te 5 instrukcji:Następnie znalazłem najlepszy sposób na uzyskanie wartości 0x10cd (x86 to mało endian) to xor 0x3080 z 0x204d:
Następnie użyłem tej samej wartości XOR jeszcze dwa razy, na dwóch końcowych bajtach w programie.
Najpierw 0x7377 jest xored z 0x3080, aby uzyskać 0x43f7. Następnie 0x ?? 43 (jakiś bajt śmieci w 0x013a) ^ 0x3080 = 0x ?? c3, który ustawia dwa ostatnie bajty na prawidłowe wartości.
źródło
ETA , 83 bajty, bezpieczne
Kolejny, który jest bardziej grafiką ASCII niż kodem (choć ten powinien być trudniejszy do złamania). Dane wyjściowe w punktach kodowych ASCII.
Wypróbuj online!
ETA używa 8 poleceń
ETAOINSH
(bez rozróżniania wielkości liter) i ignoruje wszystko inne. Kod wykonawczy tutaj to:Co znaczy:
źródło
HA|E TRYING TO CRACK THIS!!! >:(
MATL, 46 bajtów, złamany przez człowieka
Dobrze się bawiłem, starając się, aby wyglądało to trochę jak Mathematica, i starałem się, aby było dość nieoczywiste. Znam tylko dwa języki, więc złamanie go prawdopodobnie nie było takie trudne.
Wyjaśnienie:
źródło
??? , 1167 bajtów, pęknięty przez Dennisa
Szczerze mówiąc, nie jestem pewien, jak długo to potrwa, ale było całkiem fajnie.
źródło
Curry PAKCS, 57 bajtów, krakingowy przez Potato44
Wygląda jak Haskell, ale nie działa w Haskell.
źródło
[x]++s
), ale musiszimport IO
go użyć,putStr
a także wydaje się, że nie ma..
zasięgu.Wir , 3905 bajtów, pęknięty przez Potato44
To albo zostanie złamane naprawdę szybko, albo wcale.
źródło
Jolf, 7 bajtów, złamany przez DevelopingDeveloper
Dane wyjściowe to liczby oddzielone znakiem a
|
.Jak to działa:
źródło
Biała spacja , 369 bajtów, podzielona na Adyrem
To jest poliglot w co najmniej 9 językach, ale tylko jeden powinien działać. Goooooood powodzenia!
Wskazówka:
Welp Szybko pękło.
Dla porównania 9 językami były:
!
s, ale kończy się niepowodzeniem z powoduinconsistent use of tabs and spaces in indentation
;))źródło
Plik zapisywania zabawki w proszku , 529 bajtów, złamany przez tsh
Poprawka mojej ostatniej (teraz usuniętej) odpowiedzi, której części brakowało.
Pobierz: https://hellomouse.cf/moonyuploads/golfmagic
Format wyjściowy: Unary wartość narysowana na ekranie
źródło
xxd
zrzut heksowy zamiast tego?Sześciokąty , 69 bajtów, złamane przez człowieka
Dane wyjściowe mają liczby dziesiętne, po których następuje
f
:Prawdziwy układ:
Jak to działa (kliknij obrazy dla większych wersji):
Na etapie inicjalizacji adres IP przechodzi przez
#
przekierowanie do tego samego adresu IP, ponieważ komórka ma wartość 0, i przechwytuje niektóre niepotrzebne litery przed dodaniem dwóch pustych komórek przed sobą (uzyskanie 0), a następnie przejście do 1:Następnie IP wchodzi do głównej pętli. Wysyła bieżącą liczbę za pomocą
!
, umieszczad
(100) w pamięci i tasuje nieco wskaźnik pamięci, przed umieszczeniemf
w pamięci i wysyłaniem jej za pomocą;
. Następnie przesuwa się nieco więcej, zanim odejmie d / 100 od bieżącej liczby i zwiększy wynik, dając -98 do 0, jeśli liczba wynosi od 1 do 99 lub 1, jeśli liczba wynosi 100. Następnie adres IP wchodzi do gałęzi.Jeśli wartość przyrostowego odejmowania wynosi 1, licznik osiągnął 100, a IP przyjmuje dziwną ścieżkę - wrócimy do tego później. W przeciwnym razie adres IP ponownie przesuwa wskaźnik pamięci przed powrotem do wartości centralnej i zwiększaniem, wskazując teraz w przeciwnym kierunku. Adres IP przeskakuje nad,
>
aby ponownie wejść w pętlę na etapie drukowania.Do czasu wydrukowania wszystkiego zajmujemy teraz drugą gałąź. Pamięć wygląda następująco: IP idzie złotą ścieżką, bardzo zmieniając pamięć, trafia tam, gdzie się zaczęła, i odbija się do tyłu . Pamięć wygląda następująco: Ponieważ 101 to 5 mod 6, IP zmienia się z 0 na 5 na szarej ścieżce. Więcej przetasowania pamięci występuje, dopóki IP nie zostanie ponownie wprowadzone: Ponieważ 110 to 2 mod 6, IP przełącza się z 5 na 2 i natychmiast uderza , kończąc.
<
#
#
@
źródło
@
I/}O'=){/'HI}-){
po prostu wyglądał trochę jak Hexagony. : P Wydaje się, że Hexagony po prostu nie może tego uciec, chociaż nie do końca wiem, co robi.C (8 cm3 + ELVM), 34 bajty, pęknięty przez H.PWiz
Spowoduje to wydrukowanie 100 znaków ASCII.
źródło
main
funkcji jestmain(int argc, char** argv)
,X
zajmuje miejsceargc
tutaj. Zwykłe kompilatory C przyjmująargc=1
iargv[0]
są ścieżką do pliku wykonywalnego.Lost , 189 bajtów, złamany przez Dom Hastings
Będzie zbyt łatwo pęknięty, ale dobrze się bawiłem.
źródło
Trójskładnikowy , 310 bajtów, bezpieczny
Pierwszy bezpieczny policjant!
Dziwi mnie, że skończyło się to bezpiecznie, biorąc pod uwagę to, co zobaczysz, jeśli spojrzysz na koniec. Podczas zaciemnienia stałem się leniwy: P
Jeśli spojrzysz na koniec, zobaczysz wiązkę 1, 2 i 0. To podstawa trzecia - trójskładnikowa .
Specyfikacja Ternary dotyczy tylko programów składających się tylko z podanych cyfr, ale interpreter, do którego link znajduje się na stronie Esowiki, ma dziwne zachowanie:
22
, zignoruj je i przejdź do następnej pary.22
, pomiń następną parę.Oznacza to, że tylko ciągłe grupy
([01][012]|2[01])+
w kodzie mają jakiekolwiek znaczenie.źródło
11
s w kodzie)Plik wykonywalny Z80 CP / M , 242 bajty, bezpieczny
Przesłano, tym razem z określonym formatem wyjściowym.
Kod zawiera ... kilka niedrukowalnych znaków, więc oto odwracalne
xxd
:Format wyjściowy: nieprzetworzone znaki.
Jest to prawidłowy plik PNG, który po powiększeniu wygląda następująco:
Ten obraz jest jednocześnie programem Piet i Brainloller, dzięki lewy górny piksel, który jest poprawny w obu językach. W Piet wskaźnik instrukcji przesuwa się między regionami pikseli tego samego koloru, a różnice w kolorze między regionami kodują instrukcje. Oznacza to, że w Piet możesz zacząć od dowolnego koloru. W Brainloller po prostu kolory pikseli służą do kodowania instrukcji. Dlatego zdecydowałem się zacząć od cyan, który obraca wskaźnik instrukcji zgodnie z ruchem wskazówek zegara w Brainloller, dzięki czemu ten poliglot jest trywialny.
Jak już wiesz, oba te programy graficzne były pułapkami - miałem nadzieję, że przynajmniej jeden złodziej określi je jako ich przypuszczenie, dzięki czemu jest mniej prawdopodobne, że ta odpowiedź zostanie złamana. Piet drukuje liczby od 1 do 100, ale jako liczby całkowite dziesiętne, a nie jako określone nieprzetworzone znaki. Kiedy po raz pierwszy to opublikowałem, zapomniałem podać to, co czyni go trywialnym. Z drugiej strony Brainloller zaczyna się o drugiej. Ponieważ są to surowe postacie, miałem nadzieję, że ktoś tego nie zauważy. Jak powiedział H.PWiz, nie należy tego interpretować jako PNG.
Najpierw napisałem programy w Piet i Brainloller, a także program CP / M, który wygląda następująco:
Następnie spojrzałem na różne formaty obrazów i odkryłem, że PNG jest najłatwiejszy w obsłudze. PNG składa się z magicznej liczby i sekwencji bloków. Program, który widzisz powyżej, znajduje się w bloku palety. Na początku chciałem po prostu umieścić blok palety na pierwszym miejscu, aby ułatwić wykonanie przesuwania się przez te wszystkie bzdury, ale blok IHDR musi być pierwszy. Jak się okazuje, nagłówek obrazu PNG o indeksie 10x10 nie zawiera żadnych instrukcji, które zapisują w pamięci lub zmieniają sterowanie ... aż do CRC bloku IHDR. Pamiętałem jednak, że bajt 0x01 jest natychmiastowym 16-bitowym ładowaniem, co może pomóc. Ostatni bajt przed CRC był flagą z przeplotem, więc odwróciłem go, spojrzałem na nową sumę kontrolną i doszedłem do wniosku, że to zadziała.
Próbowałem wielu różnych narzędzi, aby wstawić program do palety. Odkryłem w specyfikacji, że blok palety został zaprojektowany przez zdrową osobę, co oznacza, że zawiera on tylko wszystkie kolory, z jednym bajtem na kanał, RGBRGBRG B. Zacząłem kopać dokumentację biblioteki obrazów Python, kiedy zdałem sobie sprawę, że powinno być to możliwe z GUI GIMP-a.
Skłamałem o adresie ładowania do programu asemblera, aby poprawnie osadzić w nim adresy. Pogrupowałem bajty programu w trzyosobowe grupy, aby uzyskać 6 kodów kolorów. W GIMP przekonwertowałem obraz na indeksowany, utworzyłem kopię palety do odczytu i zapisu, przekonwertowałem go z powrotem na RGB, dodawałem 6 nowych kolorów jeden po drugim, a następnie starannie kopiowałem wszystkie kolory na początku palety do końca i usunąłem oryginały, ponieważ w GIMP nie można po prostu przenosić kolorów. Na koniec przekonwertowałem obraz na indeksowany ponownie za pomocą ustawionej palety, a po zaznaczeniu kilku pól wyboru, aby GIMP nie usunął nieużywanych kolorów, skończyłem.
Aby przetestować to na emulatorze:
Wyodrębnij archiwum
Skompiluj emulator
Skompiluj narzędzia pomocy technicznej
Odpal CP / M
Skopiuj powyższy xxd, aw innym oknie przekonwertuj go z powrotem na plik binarny
Teraz nadchodzi
hackysprytna część. Jest to jedyny sposób, w jaki udało mi się przenieść plik na emulowaną maszynę. Najpierw przekonwertuj go na plik Intel HEX. Ze względu na sposób działania programu odbierającego należy podać adres ładowania. Jeśli tego nie zrobisz, zastąpi to bardzo ważną pamięć, a podczas zapisywania pliku pierwsze 256 bajtów nie zostanie zapisane:Uruchom program transferu CP / M
Wyślij plik heksadecymalny do emulatora
Zobaczysz, że zostało
LOAD
zakończone:Możesz teraz uruchomić program:
Aby wyjść, uruchom
BYE
:źródło
Befunge-96 , 25 bajtów, bezpieczny
Wypróbuj online!
Niespodzianka! Niczym horror ze złym zwrotem akcji, morderca był przez cały czas zdeformowanym starszym bratem Befunge!
Największą sztuczką tego kodu jest
h
instrukcja, którą znalazłem dzięki odpowiedzi Jamesa Holderness'a tutaj .h
ustawia Holistyczną Delta , która zmienia wartość napotkanych instrukcji przed ich wykonaniem.Wyjaśnienie
Teraz (do wskaźnika) kod wygląda następująco:
W lewo w
j
Najtrudniejsze było ustalenie, które aspekty -96 są dziedziczone z -93, które są prekursorami do -98, a które nie. Na przykład
]
(Skręć w prawo) ma wartość -98, ale nie ma wartości -96, podczas gdy'
(Pobierz postać) jest. Na szczęście ta wersja nie odbija nieznanych instrukcji.źródło
BrainCurses, 12 bajtów, złamane przez Rlyeh
Hmmmmmm :)
Dane wyjściowe są oddzielone spacją (z końcową spacją).
źródło
Ethereum VM , 170 bajtów, bezpieczny
Program w formacie szesnastkowym to:
Jest w blockchain!
Program emituje jedno zdarzenie na liczbę, używając ciągu zaprojektowanego do mylenia, który wygląda jak polecenie jako temat, a numer jako dane.
źródło
xxd
zamiast samego heksa?-ps
flagi.Z80 (o smaku anagolu), 47 bajtów, bezpieczny
Wysyła bajty od 1 do 100. Nie jestem do końca pewien, czy spełnia wymagania dla języka w PO, ale technicznie tak jest.
Wyjaśnienie po ujawnieniu: Układ Z80 ma artykuł w Wikipedii , jego język maszynowy jest z pewnością językiem programowania, a tłumacz dla używanej maszyny Z80 jest dostępny bezpłatnie na stronie golf.shinh.org ; Z80 jest tam często używany do golfa kodowego.
Maszyna jest bardzo prosta: 64k pamięci + wszystkie rejestry są wyzerowane; kod jest umieszczany na
$0000
i rozpoczyna się tam wykonywanie.putchar
Procedura jest wykonywana, gdy komputer osiągnie$8000
. (Jest teżgetchar
, ale tutaj nie ma to znaczenia).Iffy część polega oczywiście na tym, że to zachowanie „putchar at
$8000
” nie jest nieodłączne od układu i nie jest zdefiniowane przez Wikipedię / Esolangs / Rosetta. Można to uznać za „dziwactwo tłumacza” ... ale to może być odcinek. Decyzję pozostawię OP.Oto demontaż programu:
Wypróbuj online : kliknij „użyj formularza”, wybierz z80 z menu rozwijanego, wklej mój kod i prześlij!
Spodziewałem się, że pęknie dość szybko, ale teraz czuję się trochę źle. Bawiłem się dobrze pisząc program Z80 ograniczony do drukowalnego kodu ASCII.
EDYCJA 2018-02-23 : Opisałem maszynę Z80golf na esolangach .
źródło
??? , 145 bajtów, rozbity przez Dennisa
!!!
Czyści liczby czysto w jednym wierszu.
źródło
pb , 21 bajtów, złamane przez MD XF
Dane wyjściowe w postaci surowych znaków
0x01
-0x64
.źródło
pieprzenie mózgu , 6348 bajtów, złamane przez MD XF
Dość łatwy / długi, ale ładny. Podczas przewijania możesz nawet zobaczyć, jak rakieta przesuwa się w górę ekranu.
Wyjście jest surowe.
źródło
2B , 38 bajtów, bezpieczne
Dane wyjściowe to surowe znaki.
źródło
Szkło , 212 bajtów, bezpieczne
źródło
05AB1E , 5170 bajtów, złamany przez H.PWiz
Śmieje się w Zalgo - powodzenia (tak, to się powiedzie, uwierz lub nie lol).
Wypróbuj online!
źródło
pieprzony mózg , 220 bajtów, złamany przez tsh
Tak, karmienie tłumacza pieprzenia mózgu działa, ale poligloty są słodkie.
Tak, to jest pełny program. Drukuje wszystkie punkty kodowe ASCII od 1 do 100.
Miał być zabawny.
PS Drukuje 88 w JS.
źródło
Beatnik , 187 bajtów, złamany przez totalnie ludzkie
Wysyła surowe bajty.
źródło
Festival Speech Synthesis System , 1708 bajtów, pęknięty przez fergusq
Hexdump (opcjonalnie, jeśli nie lubisz kopiowania i wklejania)
Założeniem tego są trzy języki: Headsecks (
hs
), zsh (sh
) i faktyczny Festival Lisp (fl
). Chodziło o to, aby uruchomienie programu w jednym pomogło uzyskać wgląd w pozostałe:Śledź (Zsh)
bash
nie lubi mieć średników samodzielnie na górze (stąd „ale które?”), jednakzsh
chętnie je wezmą i przejdą doecho {1..99};
linii, która powiększy się do 1 do 100 ... z wyjątkiem 100, oczywiście.To miało być najbardziej oczywiste, a celem było poinformowanie rabusia, że wskazówki czwartej linii odnoszą się do języków.
Link (Zagłówki)
Wydaje się to rzeczą, którą większość ludzi zaczęła zamiast: blob (
blame2
) , który nie może być wydrukowany po pierwszej linii (premier
). To jest (całkowicie niepolecany) program Headsecks, który generuje to:Przejdź do tej wiadomości w transkrypcji, a otrzymasz tę cudowną rozmowę . Ale jeśli ty
look up
, dostaniesz to .The niejasny (festiwal)
Festiwal „Lisp” jest tak naprawdę tylko wbudowanym interpretatorem schematu; jeśli usuniesz liczne
SayText
s, ten program będzie działał poprawnie w prawie każdym smaku Lisp (średniki są komentarzami). W tej chwili wymaga to, abySayText
już zdefiniować ... co jest na festiwalu. Usłyszysz, jak grzechota podpowiedzi, jeśli masz urządzenie audio, po czym poprawnie wydrukuje od 1 do 100.źródło