Repost dari tantangan ini . Diskusi meta . Posting kotak pasir . Tubuh pertanyaannya mirip dengan aslinya
Polisi dan perampok ini sekarang (08/03/2018) ditutup untuk entri polisi yang bersaing lebih lanjut, karena perampok mungkin tidak lagi bersaing untuk memecahkan jawaban, tetapi merasa bebas untuk mengirim jawaban baru.
Tantangan Polisi dimenangkan oleh Dennis dengan jawaban Sesos 6 byte yang brilian
Tantangan Robbers dimenangkan oleh manusia sepenuhnya , dengan 30 retakan yang mencengangkan !
Tantangan Polisi
Untuk bersaing sebagai polisi:
Pilih bahasa pemrograman . Bahasa pemrograman yang valid adalah bahasa yang memenuhi ketiga kriteria ini:
- Ini memiliki artikel Wikipedia bahasa Inggris , artikel esolang atau artikel Kode Rosetta pada saat tantangan ini diposting, atau ada di Try It Online! . Memiliki penerjemah yang ditautkan di salah satu halaman ini membuat penerjemah tersebut sepenuhnya sah.
- Itu harus memenuhi aturan kami tentang apa yang merupakan bahasa pemrograman
- Itu harus memiliki juru bahasa gratis (seperti dalam bir). Gratis di sini berarti siapa pun dapat menggunakan program tanpa harus membayar untuk melakukannya.
Tulis program lengkap yang menampilkan angka dari 1 hingga 100, inklusif, dalam urutan menaik . Anda dapat menampilkan sebagai bilangan bulat desimal, sebagai nilai kode bytec (
!
untuk mewakili 33, misalnya), atau sebagai digit unary (1111
untuk 4, misalnya) 1 . Jika menggunakan unary, Anda harus menggunakan karakter yang konsisten untuk digit, dan karakter yang berbeda dan konsisten sebagai pembatas. Jika menggunakan bilangan bulat, Anda harus mengeluarkan pembatas non-digit yang konstan di antara setiap angka. Anda juga dapat menampilkan dengan karakter yang memimpin dan mengekor (seperti[]
) tetapi harap masuk akal (jangan tampilkan ribuan byte sampah di kedua sisi hitungan misalnya). Anda harus menentukan format output Anda dalam jawaban Anda.Anda tidak boleh mengasumsikan lingkungan REPL atau kode boilerplate yang ada. Bendera dapat digunakan, tetapi Anda harus mengungkapkan bendera apa yang digunakan dalam jawaban Anda. Program harus dalam bentuk satu atau lebih file sumber (untuk mengesampingkan bahasa unik seperti Folder ) dan harus sesuai dengan jawaban Anda secara penuh (jadi tidak boleh lebih dari 65.536 karakter) - ini seharusnya tidak menjadi masalah bagi pengajuan serius.
Jika kode Anda mengandung byte di luar ASCII + newline yang dapat dicetak, harap sertakan dump hex untuk memastikan kode Anda benar-benar dapat diuji.
Program harus berakhir dalam 5 menit pada PC desktop biasa.
Itu dia. Namun, seperti halnya semuanya, ada tangkapan. Anda harus berusaha untuk mengaburkan program Anda sebanyak mungkin, karena tugas Perampok adalah menebak bahasa yang Anda gunakan. Anda juga harus bertujuan untuk memastikan bahwa program Anda hanya berfungsi dalam bahasa yang dimaksud (meskipun ini mungkin lebih sedikit masalah daripada celah Foo dalam tantangan asli). Format output harus sama dengan solusi yang Anda maksudkan agar merupakan celah yang valid.
Setelah 7 hari berlalu tanpa ada yang menemukan bahasa apa pun di mana program Anda adalah celah yang valid, Anda dapat mengungkapkan bahasa itu dan menandainya sebagai safe
. Harap perhatikan, kiriman Anda masih dapat dipecahkan sampai Anda mengungkapkan bahasa .
Anda tidak boleh dalam keadaan apa pun mengedit kode sumber kiriman Anda setelah diposting (karena ini dapat membatalkan upaya aktif perampok untuk memecahkan jawaban Anda). Jadi pastikan Anda bermain golf sebaik yang Anda bisa (atau berani) sebelum memposting. Jika Anda menyadari bahwa jawaban Anda tidak berfungsi setelah mempostingnya, cukup hapus jawaban Anda dan poskan versi yang tetap jika Anda mau.
Pengiriman aman terpendek dalam byte menang!
1: Jika Anda ingin menghasilkan dengan cara yang berbeda, silakan tanyakan di komentar
Cuplikan Stack
Anda dapat menggunakan potongan tumpukan ini untuk menelusuri jawaban dengan lebih mudah:
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>
Memformat
(Jangan lewatkan bagian ini jika Anda tidak berencana berpartisipasi sebagai polisi)
Ini diperlukan untuk jawaban polisi baru agar snippet di atas dapat menguraikannya.
Jawaban baru harus menyertakan tajuk seperti ini:
# ???, [N] bytes
di mana
[N]
ukuran kode Anda dalam byte dan???
akan muncul secara harfiah.Jika jawabannya tidak retak selama 7 hari dan Anda ingin membuat jawaban Anda aman dengan mengungkapkan bahasa, cukup ganti
???
dan tambahkansafe
sampai akhir, misalnya# Ruby, [N] bytes, safe
Jangan ragu untuk memiliki tautan nama bahasa ke situs web yang relevan seperti halaman esolangs atau repositori GitHub. Tautan tersebut kemudian akan ditampilkan di leaderboard.
Jika pengguna lain berhasil memecahkan kiriman Anda, harap tambahkan bahasa, bersama dengan pemberitahuan seperti
# Ruby, [N] bytes, [cracked](crack-link) by [user]
di mana
[user]
adalah nama pengguna yang mengirimkan celah valid pertama, dancrack-link
merupakan tautan ke jawaban yang sesuai di utas Perampok. Silakan gunakan format tautan pendek yang Anda dapatkan dari tombol "bagikan". Jangan ragu untuk membuat nama pengguna tautan ke halaman profil mereka.Jika bahasa yang digunakan dalam crack berbeda dari yang Anda maksudkan, jawaban Anda masih retak, dan Anda harus mengikuti format ini. Namun, Anda dapat menyebutkan dalam jawaban yang Anda maksudkan sebagai sesuatu yang lain. Pilihan Anda adalah apakah Anda ingin mengungkapkan jawaban yang dimaksud, atau jika Anda ingin membiarkan Robbers lebih bersenang-senang.
Semoga berhasil, Polisi!
sumber
Jawaban:
Sesos , 6 byte, aman
Output dalam desimal.
Cobalah online!
Sesos dapat ditulis dalam format biner atau rakitan. File assembly yang menghasilkan file biner di atas mengikuti.
Cobalah online!
Butuh beberapa pilihan aneh (yang tidak berguna
fwd 1
,nop
yang bisa menjadijmp
,add 44
dansub 3
bukannyaadd 100
dansub 1
), tetapi saya berhasil membuat file biner yang hanya terdiri dari karakter ASCII yang dapat dicetak (sehingga tidak akan terlihat seperti file biner).sumber
Beatnik , 114 byte, dipecahkan oleh Johannes Griebler
Ini sebuah puisi dalam bahasa Finlandia! Dan sebuah program. Ini mencetak angka sebagai byte.
Terjemahan Inggris:
Saya terkejut butuh waktu selama ini untuk memecahkan ini, terutama karena pengajuan Beatnik lainnya retak dengan cepat.
Ini tidak berfungsi dengan juru bahasa Python (digunakan dalam TIO) karena cara menangani karakter khusus. Itu dianggap
Kroohhpyyh-ZZZ-ZZZZ
sebagai tiga kata yang berbeda, sementara itu harus ditafsirkan sebagai satu besar. Gunakan juru bahasa C untuk menjalankan ini.Penjelasan:
sumber
Hexagony , 62 byte, dipecahkan oleh benar-benar manusiawi
Mencetak desimal yang dipisahkan oleh huruf kecil tunggal d.
Saya akan terkesan jika ini bekerja dalam bahasa yang tidak diinginkan.
Karena ini sudah di-crack, berikut ini adalah kode yang benar-benar dieksekusi:
Yang lainnya adalah no-op, dilambangkan dengan
.
.sumber
8086 DOS COM , 58 byte, dipecahkan oleh tsh
Format I / O: karakter mentah
Penjelasan
Program dasar terlihat seperti ini:
Namun, varian ini menggunakan banyak karakter yang tidak patut dicetak, yang akan menjadi petunjuk besar. Untungnya, beberapa instruksi yang dapat dicetak meliputi:
Pertama, untuk menghindari karakter yang tidak diinginkan yang disebabkan oleh
inc al
, saya menggunakaninc ax
sebagai gantinya, karena overflow tidak diharapkan. Kemudian saya menemukan cara untuk menginisialisasi AX dan BX di awal hanya dengan karakter yang dapat dicetak.Lalu, saya menggunakan kode modifikasi diri untuk memperbaiki yang tidak masuk di
int 0x10
. Instruksi dalam program akhir berada di 0x0131, yang merupakan nilai dalam SI 5 instruksi ini buat saya:Lalu, saya menemukan cara terbaik untuk mendapatkan nilai 0x10cd (x86 adalah little endian) adalah dengan xor 0x3080 dengan 0x204d:
Kemudian, saya menggunakan nilai XOR yang sama dua kali lagi, pada dua byte terakhir dalam program.
0x7377 pertama adalah xored dengan 0x3080 untuk mendapatkan 0x43f7. Kemudian 0x ?? 43 (beberapa byte sampah pada 0x013a) ^ 0x3080 = 0x ?? c3, yang menetapkan dua byte terakhir ke nilai yang benar.
sumber
ETA , 83 byte, aman
Satu lagi yang lebih seni ASCII daripada kode (meskipun yang ini harus lebih sulit untuk retak). Output dalam codepoint ASCII.
Cobalah online!
ETA menggunakan 8 perintah
ETAOINSH
(case-insensitive), dan mengabaikan yang lainnya. Kode pelaksana di sini adalah:Yang berarti:
sumber
HA|E TRYING TO CRACK THIS!!! >:(
MATL, 46 byte, dipecahkan oleh benar-benar manusiawi
Saya senang mencoba membuat ini terlihat seperti Mathematica, dan mencoba untuk membuatnya tetap tidak jelas. Saya hanya tahu dua bahasa, jadi memecahkannya mungkin tidak terlalu sulit.
Penjelasan:
sumber
??? , 1167 byte, dipecahkan oleh Dennis
Jujur tidak yakin berapa lama ini akan berlangsung, tapi itu cukup menyenangkan.
sumber
Curry PAKCS, 57 byte, diretas oleh Potato44
Sepertinya Haskell tetapi tidak berjalan di Haskell.
sumber
[x]++s
), tetapi Anda harusimport IO
menggunakanputStr
dan sepertinya tidak memiliki..
jangkauan.Whirl , 3905 byte, dipecahkan oleh Potato44
Entah ini akan retak sangat cepat atau tidak sama sekali.
sumber
Jolf, 7 byte, dipecahkan oleh DevelopingDeveloper
Output adalah angka yang dipisahkan oleh a
|
.Bagaimana ini bekerja:
sumber
Spasi , 369 byte, dipecahkan oleh Adyrem
Ini adalah polyglot dalam setidaknya 9 bahasa, tetapi hanya satu yang bisa berfungsi. Semoga berhasil!
Petunjuk:
Welp. Itu cepat retak.
Untuk referensi, 9 bahasa itu adalah:
!
detik, tetapi gagal karenainconsistent use of tabs and spaces in indentation
;))sumber
The Powder Toy Save File, 529 bytes, dipecahkan oleh tsh
Memperbaiki jawaban terakhir saya (sekarang dihapus), yang saya lewatkan bagian dari.
Unduh: https://hellomouse.cf/moonyuploads/golfmagic
Format output: Nilai unary diambil di layar
sumber
xxd
hexdump yang dapat dibalik dan bukannya yang itu?Hexagony , 69 byte, dipecahkan oleh manusia sepenuhnya
Output memiliki angka desimal diikuti oleh
f
, yaitu:Tata letak nyata:
Cara kerjanya (klik gambar untuk versi yang lebih besar):
Pada tahap inisialisasi, IP melewati
#
, mengubah rute ke IP yang sama karena sel 0, dan mengambil beberapa surat sampah sebelum menambahkan dua sel kosong di depannya (mendapatkan 0) dan kemudian berubah menjadi 1:Setelah ini, IP memasuki loop utama. Ini menghasilkan angka saat ini dengan
!
, menempatkand
(100) dalam memori dan mengocok penunjuk memori sekitar sedikit, sebelum menempatkanf
dalam memori dan mengeluarkannya dengan;
. Kemudian bergerak sedikit lebih banyak sebelum mengurangi d / 100 dari angka saat ini dan meningkatkan hasilnya, memberi -98 hingga 0 jika angkanya 1 hingga 99 atau 1 jika angkanya 100. Selanjutnya, IP memasuki cabang.Jika nilai pengurangan yang dikurangi adalah 1, hitungannya telah mencapai 100 dan IP mengambil jalur yang aneh - kami akan kembali ke nanti. Jika tidak, IP akan memindahkan penunjuk memori lagi sebelum mengembalikannya ke nilai pusat dan menambahkannya, sekarang menunjuk ke arah yang berlawanan. IP melompati a
>
untuk memasukkan kembali loop pada tahap cetak.Pada saat kami telah mencetak semuanya, kami sekarang mengambil cabang kedua. Memori terlihat seperti ini: IP berjalan di sepanjang jalur emas, mengubah banyak memori, dan mengenai di mana ia mulai dan memantul kembali, akan kembali ke mana - mana . Memori terlihat seperti ini: Karena 101 adalah 5 mod 6, IP beralih dari 0 ke 5, di jalur abu-abu. Semakin banyak pengocokan memori terjadi hingga IP masuk ke IP lagi: Karena 110 adalah 2 mod 6, IP beralih dari 5 ke 2, dan segera menekan , mengakhiri.
<
#
#
@
sumber
@
dan/}O'=){/'HI}-){
hanya tampak banyak seperti Hexagony. : P Tampaknya Hexagony tidak bisa lolos begitu saja, meskipun saya tidak tahu apa fungsinya.C (8cc + ELVM), 34 byte, dipecahkan oleh H.PWiz
Ini mencetak 100 karakter ASCII.
sumber
main
fungsi yang normal adalahmain(int argc, char** argv)
,X
menggantikan tempat iniargc
. Compiler C normal mengambilargc=1
danargv[0]
merupakan path ke executable.Hilang , 189 byte, dipecahkan oleh Dom Hastings
Ini akan mudah retak, tapi saya senang membuatnya.
sumber
Ternary , 310 byte, aman
Polisi pertama yang aman!
Saya terkejut ini berakhir dengan aman, mengingat apa yang Anda lihat jika Anda melihat pada akhirnya. Saya malas saat kebingungan: P
Jika Anda melihat bagian akhir, Anda melihat sekelompok angka 1, 2, dan 0. Itu base tiga— ternary .
Ternary's spec hanya menganggap program yang hanya terdiri dari digit yang diberikan, tetapi interpreter yang tertaut pada halaman Esowiki memiliki beberapa perilaku aneh:
22
, abaikan saja dan pindah ke pasangan berikutnya.22
, lewati pasangan berikutnya.Ini berarti bahwa hanya kelompok-kelompok yang berdekatan
([01][012]|2[01])+
di dalam kode yang benar-benar memiliki makna.sumber
11
dalam kode)Eksekusi Z80 CP / M , 242 byte, aman
Diposting ulang, kali ini dengan format output yang ditentukan.
Kode berisi ... beberapa karakter yang tidak patut dicetak, jadi inilah yang dapat dibalik
xxd
:Format output: karakter mentah.
Ini adalah PNG yang valid, yang ketika diperbesar terlihat seperti ini:
Gambar ini sekaligus merupakan program Piet dan program Brainloller, berkat piksel kiri atas, yang berlaku dalam kedua bahasa. Di Piet, penunjuk instruksi bergerak di antara wilayah piksel dengan warna yang sama, dan perbedaan warna di antara daerah menyandikan instruksi. Ini berarti bahwa di Piet, Anda dapat mulai dari warna apa pun. Di Brainloller, itu hanya warna piksel yang digunakan untuk menyandikan instruksi. Oleh karena itu, saya memilih untuk memulai dari cyan, yang memutar petunjuk pointer searah jarum jam di Brainloller, membuat polyglot ini sepele.
Seperti yang Anda ketahui sekarang, kedua program grafis ini adalah jebakan - Saya berharap setidaknya satu perampok akan menyatakannya sebagai perkiraan mereka, sehingga kecil kemungkinan jawaban ini akan dipecahkan. Piet mencetak angka 1 hingga 100, tetapi sebagai bilangan bulat desimal, bukan sebagai karakter mentah yang ditentukan. Ketika saya pertama kali memposting ini, saya lupa untuk menentukan ini, membuatnya sepele. Di sisi lain, Brainloller dimulai pukul dua. Karena ini adalah karakter mentah, saya berharap seseorang tidak akan memperhatikan. Seperti yang dikatakan H.PWiz, ini seharusnya tidak diartikan sebagai PNG.
Pertama, saya menulis program di Piet dan Brainloller, serta program CP / M, yang terlihat seperti ini:
Lalu, saya melihat berbagai format gambar, dan saya menemukan PNG sebagai yang paling mudah untuk digunakan. PNG terdiri dari angka ajaib dan urutan blok. Program yang Anda lihat di atas berada di blok palet. Pada awalnya saya ingin menempatkan blok palet terlebih dahulu, untuk membuatnya lebih mudah untuk mengeksekusi semua omong kosong itu, tetapi blok IHDR harus menjadi yang pertama. Ternyata, header gambar PNG yang diindeks 10x10 tidak mengandung instruksi apa pun yang menulis ke memori atau mengubah aliran kontrol ... hingga CRC pada blok IHDR. Namun, saya ingat bahwa byte 0x01 adalah beban 16-bit langsung, yang dapat membantu. Byte terakhir sebelum CRC adalah flag interlaced, jadi saya membaliknya, melihat pada checksum baru dan menyimpulkan bahwa ini akan berhasil.
Saya mencoba berbagai alat untuk memasukkan program ke dalam palet. Saya menemukan dalam spesifikasi, bahwa blok palet dirancang oleh orang waras, yang berarti hanya mencantumkan semua warna, dengan satu byte per saluran, RGBRGBRG B. Saya mulai menggali melalui dokumentasi Python Imaging Library, ketika saya menyadari bahwa itu harus dilakukan dengan GUI GIMP.
Saya berbohong tentang alamat muat ke program assembler untuk mendapatkan alamat yang tertanam di dalamnya dengan benar. Saya mengelompokkan byte program dalam kelompok tiga untuk mendapatkan 6 kode warna. Di GIMP, saya mengubah gambar menjadi diindeks, membuat salinan baca-tulis paletnya, mengubahnya kembali ke RGB, menambahkan 6 warna baru satu per satu kemudian dengan susah payah menyalin semua warna di awal palet ke ujung dan menghapus aslinya, karena di GIMP Anda tidak bisa hanya memindahkan warna. Pada akhirnya, saya mengonversi gambar menjadi diindeks lagi dengan set palet, dan setelah menandai beberapa kotak centang untuk mencegah GIMP dari menghapus warna yang tidak digunakan, saya selesai.
Untuk menguji ini pada sebuah emulator:
Ekstrak tarball
Kompilasi emulator
Kompilasi alat pendukung
Jalankan CP / M
Salin xxd di atas, dan di jendela lain, konversikan kembali ke file biner
Sekarang datang
Hackybagian pintar. Ini adalah satu-satunya cara saya dapat menemukan untuk mentransfer file ke mesin yang ditiru. Pertama, konversikan ke file Intel HEX. Karena cara kerja program penerima, Anda perlu menentukan alamat muat. Jika tidak, itu akan menimpa beberapa memori yang sangat penting, dan saat menyimpan file, 256 byte pertama tidak akan ditulis:Jalankan program transfer CP / M
Kirim file hex ke emulator
Anda akan melihat itu
LOAD
dihentikan:Anda sekarang dapat menjalankan program:
Untuk keluar, jalankan
BYE
:sumber
Befunge-96 , 25 byte, aman
Cobalah online!
Mengherankan! Seperti film horor dengan twist yang buruk, pembunuhnya adalah kakak tertua Befunge!
Trik terbesar dari kode ini adalah
h
instruksi, yang saya temukan melalui jawaban James Holderness di sini .h
mengatur Delta Holistik , yang mengubah nilai instruksi yang dijumpai sebelum menjalankannya.Penjelasan
Sekarang (ke pointer) kode tersebut terlihat seperti:
Ke kiri di
j
Bagian tersulit dari ini adalah mencari tahu aspek -96 mana yang diwarisi dari -93, yang merupakan prekursor ke -98, dan mana yang tidak. Misalnya
]
(Belok Kanan) di -98, tetapi tidak di -96, sedangkan'
(Ambil Karakter) adalah. Untungnya, versi ini tidak memantulkan instruksi yang tidak diketahui.sumber
BrainCurses, 12 byte, dipecahkan oleh Rlyeh
Hmmmmmm :)
Output dipisahkan oleh spasi (dengan spasi tambahan).
sumber
Ethereum VM , 170 byte, aman
Program hex-encoded adalah:
Ada di blockchain!
Program ini memancarkan satu peristiwa per angka, menggunakan string yang dirancang untuk membingungkan yang tampak seperti perintah sebagai topik, dan angka sebagai data.
sumber
xxd
bukan hanya hex?-ps
bendera.Z80 (anagol-flavoured), 47 byte, aman
Output byte dari 1 hingga 100. Saya tidak sepenuhnya yakin ini memenuhi persyaratan untuk bahasa di OP, tapi itu semacam teknis.
Klarifikasi pasca-pengungkapan: Chip Z80 memiliki artikel Wikipedia , bahasa mesinnya jelas merupakan bahasa pemrograman, dan juru bahasa untuk mesin Z80 yang digunakan tersedia secara bebas di golf.shinh.org ; Z80 sering digunakan untuk kode golf di sana.
Mesin ini sangat sederhana: memori 64k + semua register dipusatkan; kode ditempatkan pada
$0000
dan eksekusi dimulai di sana. Sebuahputchar
rutin dijalankan ketika PC mencapai$8000
. (Ada jugagetchar
, tapi tidak relevan di sini.)Bagian yang rapuh, tentu saja, adalah bahwa
$8000
perilaku "putchar at " ini tidak melekat pada chip dan tidak dengan sendirinya didefinisikan oleh Wikipedia / Esolangs / Rosetta. Anda bisa melihatnya sebagai "interpreter quirk" ... tapi itu mungkin sulit. Saya akan menyerahkan keputusan kepada OP.Berikut ini adalah program pembongkaran:
Cobalah online : klik "gunakan formulir", pilih z80 dari menu dropdown, rekatkan kode saya, dan Kirim!
Saya berharap ini cepat retak, tapi sekarang saya merasa agak buruk. Saya senang menulis program Z80 yang dibatasi untuk mencetak kode ASCII.
EDIT 2018-02-23 : Saya menggambarkan mesin Z80golf di esolangs .
sumber
??? , 145 byte, dipecahkan oleh Dennis
!!!
Menghasilkan angka-angka dengan bersih dalam satu baris.
sumber
pb , 21 byte, dipecahkan oleh MD XF
Output dalam karakter mentah
0x01
-0x64
.sumber
brainfuck , 6348 byte, dipecahkan oleh MD XF
Cukup mudah / panjang, tapi cantik. Anda bahkan dapat melihat roket bergerak ke atas layar saat Anda menggulir ke bawah.
Outputnya mentah.
sumber
2B , 38 byte, aman
Output adalah karakter mentah.
sumber
Kaca , 212 byte, aman
sumber
05AB1E , 5170 byte, dipecahkan oleh H.PWiz
Tertawa di Zalgo - Semoga sukses (ya, ini dijalankan, percaya atau tidak lol).
Cobalah online!
sumber
brainfuck , 220 byte, dipecahkan oleh tsh
Ya, memberi makan ke dalam interpreter brainfuck berfungsi, tetapi polyglots manis.
Ya, ini adalah program lengkap. Mencetak semua codepoint ASCII dari 1 hingga 100.
Dimaksudkan untuk menjadi lucu.
PS Mencetak 88 di JS.
sumber
Beatnik , 187 byte, dipecahkan oleh manusia sepenuhnya
Output byte mentah.
sumber
Festival Sistem Sintesis Wicara , 1708 byte, dipecahkan oleh fergusq
Hexdump (opsional, jika Anda tidak suka copy-paste)
Konsep di balik ini adalah bahwa ada tiga bahasa yang terjadi di sini: Headsecks (
hs
), zsh (sh
), dan Festival Lisp (fl
) yang sebenarnya. Maksudnya adalah menjalankan program dalam satu akan membantu mendapatkan wawasan yang lain:Ikan haring (zsh)
bash
tidak suka memiliki titik koma sendiri di atas (karena itu "tetapi yang mana?"), namunzsh
akan dengan senang hati membawa mereka dan melompat ke bawah keecho {1..99};
garis, yang akan berkembang menjadi 1 hingga 100 ... kecuali 100, tentu saja.Ini seharusnya menjadi yang paling jelas, dan tujuannya adalah untuk memberi tahu perampok bahwa petunjuk baris keempat mengacu pada bahasa.
Tautan (Headecks)
Ini tampaknya menjadi hal yang kebanyakan orang mulai pada: gumpalan yang tidak dapat dicetak (
blame2
) setelah baris pertama (premier
). Ini adalah program Headeck (benar-benar tidak bercampur) yang menampilkan ini:Buka pesan itu dalam transkrip, dan Anda mendapatkan percakapan yang menyenangkan ini . Tetapi jika Anda
look up
, Anda mendapatkan ini .The obscure (Festival)
Festival "Lisp" sebenarnya hanyalah juru bahasa Skema yang disematkan; jika Anda mengambil banyak
SayText
s, program ini akan berjalan dengan benar di hampir semua rasa Lisp (titik koma adalah komentar). Seperti itu, itu membutuhkan yangSayText
sudah ditentukan ... yang ada di Festival. Anda akan mendengarnya mengeluarkan petunjuk jika Anda memiliki perangkat audio, yang kemudian akan mencetak dengan benar 1 hingga 100.sumber