Uma repostagem desse desafio. Meta discussão . Postagem na caixa de areia . Corpo da pergunta semelhante ao original
Agora, esses policiais e ladrões estão fechados (08/03/2018) para novas entradas de policiais concorrentes, pois os ladrões podem não estar mais competindo para obter respostas, mas sentem-se à vontade para postar novas respostas.
O desafio da polícia foi vencido por Dennis com sua brilhante resposta de 6 bytes Sesos
O desafio dos ladrões foi vencido por totalmente humano , com impressionantes 30 rachaduras !
O desafio da polícia
Para competir como policial:
Escolha uma linguagem de programação . Uma linguagem de programação válida é aquela que atende a todos esses três critérios:
- Ele possui um artigo da Wikipedia em inglês , um artigo da esolangs ou um artigo do Rosetta Code no momento em que este desafio foi publicado ou está no Try It Online! . Ter um intérprete vinculado em qualquer uma dessas páginas torna esse intérprete completamente legal.
- Ele deve satisfazer nossas regras sobre o que constitui uma linguagem de programação
- Ele deve ter um intérprete gratuito (como na cerveja). Grátis aqui significa que qualquer pessoa pode usar o programa sem ter que pagar para fazê-lo.
Escreva um programa completo que produza os números de 1 a 100, inclusive, em ordem crescente . Você pode imprimir como inteiros decimais, como valores de bytecode (
!
para representar 33, por exemplo) ou como dígitos unários (1111
para 4, por exemplo) 1 . Se estiver usando unário, você deve usar qualquer caractere consistente para dígitos e um caractere diferente e consistente como delimitador. Se estiver usando números inteiros, você deve gerar um delimitador constante sem dígito entre cada número. Você também pode imprimir com caracteres iniciais e finais (como[]
), mas seja sensato (não exiba mil bytes de lixo de ambos os lados da contagem, por exemplo). Você deve especificar seu formato de saída na sua resposta.Você não deve assumir um ambiente REPL ou um código padrão existente. Os sinalizadores podem ser usados, mas você deve revelar quais sinalizadores são usados em sua resposta. O programa deve estar no formato de um ou mais arquivos de origem (para descartar idiomas peculiares como pastas ) e deve caber na sua resposta na íntegra (portanto, não deve exceder 65.536 caracteres) - isso não deve ser um problema para qualquer envio sério.
Se o seu código contiver bytes fora da nova linha imprimível ASCII +, inclua um dump hexadecimal para garantir que seu código seja realmente testável.
O programa deve terminar dentro de 5 minutos em um PC de mesa típico.
É isso aí. No entanto, como em tudo, há um problema. Você deve tentar ofuscar o seu programa o máximo possível, pois a tarefa dos ladrões é adivinhar o idioma que você usou. Você também deve garantir que seu programa funcione apenas no idioma pretendido (embora isso provavelmente seja um problema menor do que o Foo racha no desafio original). O formato de saída deve ser o mesmo da solução pretendida para constituir um crack válido.
Depois de 7 dias sem que ninguém descubra nenhum idioma em que seu programa é um crack válido, você poderá revelar o idioma e marcá-lo como safe
. Observe que seu envio ainda pode ser quebrado até que você revele o idioma .
Você não deve, em nenhuma circunstância, editar o código-fonte do seu envio uma vez publicado (pois isso pode invalidar as tentativas ativas de um ladrão de decifrar sua resposta). Portanto, certifique-se de jogar o melhor que puder (ou ousar) antes de postar. Se você perceber que sua resposta não funcionará após publicá-la, exclua-a e publique uma versão fixa, se desejar.
O menor envio seguro em bytes vence!
1: Se você deseja produzir de uma maneira diferente, pergunte nos comentários
O snippet de pilha
Você pode usar esse snippet de pilha para procurar as respostas mais facilmente:
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>
Formatação
(Pule esta seção se você não planeja participar como policial)
Isso é necessário para novas respostas de policiais para possibilitar que o trecho acima as analise.
Novas respostas devem incluir um cabeçalho como este:
# ???, [N] bytes
onde
[N]
é o tamanho do seu código em bytes e???
deve aparecer literalmente.Se a resposta não estiver quebrada por 7 dias e você quiser torná-la segura, revelando o idioma, basta substituir o
???
e adicionarsafe
no final, por exemplo,# Ruby, [N] bytes, safe
Sinta-se à vontade para ter o link do nome do idioma para um site relevante, como uma página esolangs ou um repositório do GitHub. O link será exibido no placar.
Se outro usuário quebrar seu envio com sucesso, adicione também o idioma, juntamente com um aviso como
# Ruby, [N] bytes, [cracked](crack-link) by [user]
onde
[user]
é o nome do usuário que enviou o primeiro crack válido ecrack-link
é um link para a resposta correspondente no segmento dos ladrões. Por favor, use o formato de link curto obtido no botão "compartilhar". Sinta-se à vontade para transformar o nome de usuário em um link para a página de perfil.Se o idioma usado no crack for diferente do que você pretendia, sua resposta ainda estará quebrada e você deverá seguir este formato. No entanto, você pode mencionar na resposta que pretendia que fosse outra coisa. É sua escolha se você deseja revelar a resposta pretendida ou se deseja deixar os ladrões se divertirem mais.
Boa sorte Policiais!
fonte
Respostas:
Sesos , 6 bytes, seguro
A saída é decimal.
Experimente online!
Os Sesos podem ser escritos no formato binário ou de montagem. A seguir, o arquivo de montagem que gerou o arquivo binário acima.
Experimente online!
Foram necessárias algumas escolhas estranhas (uma inútil
fwd 1
, umanop
que poderia ter sido ejmp
, em vez de e ), mas consegui criar um arquivo binário que consiste apenas em caracteres ASCII imprimíveis (para que não parecesse um arquivo binário).add 44
sub 3
add 100
sub 1
fonte
Beatnik , 114 bytes, quebrado por Johannes Griebler
É um poema em finlandês! E um programa. Imprime os números como bytes.
Tradução do inglês:
Estou surpreso que demorou tanto tempo para resolver isso, especialmente porque o outro envio do Beatnik foi quebrado rapidamente.
Isso não funciona com o intérprete Python (usado no TIO) devido à maneira como ele lida com caracteres especiais. Considera
Kroohhpyyh-ZZZ-ZZZZ
três palavras diferentes, embora deva ser interpretada como uma grande. Use o intérprete C para executar isso.Explicação:
fonte
Hexagonia , 62 bytes, quebrada por totalmente humano
Imprime decimais separados por uma única minúscula d.
Eu ficaria impressionado se isso funcionar em qualquer idioma não intencional.
Como isso já foi decifrado, aqui está o código realmente executado:
Tudo o resto é um não-op, indicado por
.
.fonte
8086 DOS COM , 58 bytes, quebrado por tsh
Formato de E / S: caracteres brutos
Explicação
O programa básico é assim:
No entanto, essa variante usa muitos caracteres não imprimíveis, o que seria uma grande dica. Felizmente, algumas instruções para impressão incluem:
Primeiro, para evitar os caracteres não imprimíveis causados por
inc al
, useiinc ax
, pois não é esperado um estouro. Encontrei uma maneira de inicializar o AX e o BX no início com apenas caracteres imprimíveis.Em seguida, empreguei o código de modificação automática para corrigir os imprimíveis
int 0x10
. Essa instrução no programa final reside em 0x0131, que é o valor no SI que essas 5 instruções me obtêm:Então, eu encontrei a melhor maneira de obter o valor de 0x10cd (x86 é pouco endian) é xor 0x3080 com 0x204d:
Em seguida, usei o mesmo valor XOR mais duas vezes, nos dois bytes finais do programa.
Primeiro 0x7377 é xored com 0x3080 para obter 0x43f7. Então 0x ?? 43 (algum byte de lixo em 0x013a) ^ 0x3080 = 0x ?? c3, que define os dois bytes finais com os valores corretos.
fonte
ETA , 83 bytes, seguro
Outro que é mais arte ASCII do que código (embora esse deva ser mais difícil de decifrar). Saídas em pontos de código ASCII.
Experimente online!
O ETA usa os 8 comandos
ETAOINSH
(sem distinção entre maiúsculas e minúsculas) e ignora todo o resto. O código de execução aqui é:Que significa:
fonte
HA|E TRYING TO CRACK THIS!!! >:(
MATL, 46 bytes, quebrado por totallyhuman
Eu me diverti tentando fazer isso parecer um pouco com o Mathematica e tentando mantê-lo razoavelmente óbvio. Eu só conheço duas línguas, então quebrar isso provavelmente não foi tão difícil.
Explicação:
fonte
??? , 1167 bytes, quebrado por Dennis
Honestamente, não sei quanto tempo isso vai durar, mas foi bastante divertido.
fonte
Curry PAKCS, 57 bytes, quebrado por Potato44
Parece Haskell, mas não é executado em Haskell.
fonte
[x]++s
), mas você precisaimport IO
usáputStr
-lo e também não parece ter..
intervalos.Giro , 3905 bytes, quebrado por Potato44
Isso vai ser quebrado muito rápido ou nem um pouco.
fonte
Jolf, 7 bytes, quebrado por DevelopingDeveloper
Saída são números separados por a
|
.Como isso funciona:
fonte
Espaço em branco , 369 bytes, quebrado por Adyrem
Este é um poliglota em pelo menos 9 idiomas, mas apenas um deve funcionar. Boa sorte!
Dica:
Welp. Isso foi quebrado rapidamente.
Para referência, os 9 idiomas foram:
!
s, mas falha devido ainconsistent use of tabs and spaces in indentation
;))fonte
O arquivo de salvamento do brinquedo em pó , 529 bytes, quebrado por tsh
Correção da minha última resposta (agora excluída), da qual perdi parte.
Download: https://hellomouse.cf/moonyuploads/golfmagic
Formato de saída: Valor unário desenhado na tela
fonte
xxd
hexdump reversível em vez daquele, por favor?Hexagonia , 69 bytes, quebrada por totalmente humano
A saída possui números decimais seguidos por
f
, ou seja:Layout real:
Como isso funciona (clique nas imagens para versões maiores):
No estágio de inicialização, o IP passa pelo
#
, redirecionando para o mesmo IP, já que a célula é 0 e pega algumas letras indesejadas antes de adicionar as duas células vazias na frente (obtendo 0) e depois mudando para 1:Depois disso, o IP entra no loop principal. Ele gera o número atual com
!
, coloca umd
(100) na memória e embaralha o ponteiro da memória em torno de um pouco, antes de colocar umf
na memória e sair com ele;
. Ele então se move um pouco mais antes de subtrair o d / 100 do número atual e incrementar o resultado, dando -98 a 0 se o número for de 1 a 99 ou 1 se o número for 100. Em seguida, o IP entra em uma ramificação.Se o valor da subtração incrementada for 1, a contagem atingiu 100 e o IP segue um caminho estranho - voltaremos a isso mais tarde. Caso contrário, o IP move o ponteiro da memória novamente antes de retorná-lo ao valor central e incrementá-lo, agora apontando a direção oposta. O IP salta sobre a
>
para inserir novamente o loop no estágio de impressão.No momento em que imprimimos tudo, agora assumimos o segundo ramo. A memória fica assim: O IP segue o caminho dourado, alterando bastante a memória, atinge o ponto em que começou e retorna, retornando até o ponto inicial . A memória fica assim: Como 101 é 5 mod 6, o IP alterna de 0 a 5, no caminho cinza. Mais barulho de memória ocorre até que o IP seja executado novamente: como 110 é 2 mod 6, o IP alterna de 5 para 2 e atinge imediatamente a terminação.
<
#
#
@
fonte
@
e/}O'=){/'HI}-){
parecia muito com Hexagony. : P Parece que o Hexagony simplesmente não consegue se safar disso, embora eu não saiba bem o que ele faz.C (8cc + ELVM), 34 bytes, quebrado por H.PWiz
Isso imprime 100 caracteres ASCII.
fonte
main
função émain(int argc, char** argv)
:X
substitui-oargc
aqui. Compiladores C normais tomamargc=1
eargv[0]
é o caminho para o executável.Perdido , 189 bytes, quebrado por Dom Hastings
Vai ficar rachado com muita facilidade, mas eu me diverti fazendo isso.
fonte
Ternário , 310 bytes, seguro
Primeiro policial seguro!
Estou surpreso que isso acabou seguro, considerando o que você vê se olhar para o final. Fiquei preguiçoso durante a ofuscação: P
Se você olhar para o final, verá um monte de 1, 2 e 0. Essa é a base três - ternária .
A especificação de Ternary considera apenas programas que consistem apenas nos dígitos fornecidos, mas o intérprete vinculado à página do Esowiki tem um comportamento estranho:
22
, ignore-os e vá para o próximo par.22
, pule o próximo par.Isso significa que apenas grupos contíguos de
([01][012]|2[01])+
no código realmente têm algum significado.fonte
11
s no código)Z80 CP / M executável , 242 bytes, seguro
Republicado, desta vez com um formato de saída especificado.
O código contém alguns ... caracteres não imprimíveis, então aqui está o reversível
xxd
:Formato de saída: caracteres brutos.
Este é um PNG válido que, quando aumentado, fica assim:
Esta imagem é ao mesmo tempo um programa Piet e um programa Brainloller, graças ao pixel superior esquerdo, válido nos dois idiomas. Em Piet, o ponteiro da instrução se move entre regiões de pixels da mesma cor e as diferenças na cor entre as regiões codificam instruções. Isso significa que, no Piet, você pode começar de qualquer cor. No Brainloller, são apenas as cores dos pixels que são usadas para codificar as instruções. Portanto, eu escolhi começar pelo ciano, que gira o ponteiro das instruções no sentido horário no Brainloller, tornando esse poliglota trivial.
Como você sabe agora, ambos os programas gráficos eram armadilhas - eu esperava que pelo menos um ladrão os declarasse como um palpite, tornando menos provável que essa resposta seja quebrada. Piet imprime os números de 1 a 100, mas como números inteiros decimais, não como os caracteres brutos especificados. Quando publiquei isso pela primeira vez, esqueci de especificar isso, tornando-o trivial. Por outro lado, Brainloller começa às duas. Como esses são caracteres brutos, eu esperava que alguém não notasse. Como disse H.PWiz, isso não deve ser interpretado como PNG.
Primeiro, escrevi os programas em Piet e Brainloller, bem como o programa CP / M, que fica assim:
Depois, observei vários formatos de imagem e achei o PNG o mais fácil de trabalhar. Um PNG consiste em um número mágico e uma sequência de blocos. O programa que você vê acima reside no bloco da paleta. No começo, eu queria apenas colocar o bloco da paleta primeiro, para facilitar a execução de toda essa bobagem, mas o bloco IHDR precisa ser o primeiro. Como se vê, o cabeçalho da imagem de um PNG indexado em 10x10 não contém nenhuma instrução que grave na memória ou altere o fluxo de controle ... até o CRC do bloco IHDR. No entanto, lembrei que o byte 0x01 é uma carga imediata de 16 bits, o que poderia ajudar. O último byte antes da CRC era um sinalizador entrelaçado, então eu o virei, examinei a nova soma de verificação e concluí que isso funcionaria.
Eu estava tentando muitas ferramentas diferentes para inserir o programa na paleta. Descobri na especificação que o bloco da paleta foi projetado por uma pessoa sã, o que significa que apenas lista todas as cores, com um byte por canal, RGBRGBRG B. Eu estava começando a pesquisar na documentação da Python Imaging Library, quando percebi que deveria ser possível fazer isso com a GUI do GIMP.
Eu menti sobre o endereço de carregamento do programa assembler para obter os endereços incorporados nele corretamente. Agrupei os bytes do programa em grupos de três para obter 6 códigos de cores. No GIMP, converti a imagem para indexada, criei uma cópia de leitura e gravação de sua paleta, converti-a novamente para RGB, adicionei as 6 novas cores uma por uma e depois copiei cuidadosamente todas as cores do início da paleta até o final e excluiu os originais, porque no GIMP você não pode simplesmente mover as cores. No final, converti a imagem para indexada novamente com uma paleta definida e, depois de marcar algumas caixas de seleção para impedir que o GIMP remova cores não utilizadas, eu terminei.
Para testar isso em um emulador:
Extraia o tarball
Compile o emulador
Compile as ferramentas de suporte
Acione o CP / M
Copie o xxd acima e, em outra janela, converta-o novamente em um arquivo binário
Agora vem a parte inteligente
hacky. Esta é a única maneira que eu poderia encontrar para transferir o arquivo para a máquina emulada. Primeiro, converta-o para um arquivo Intel HEX. Por causa de como o programa receptor funciona, você precisa especificar o endereço de carregamento. Caso contrário, ele substituirá uma memória muito importante e, ao salvar o arquivo, os primeiros 256 bytes não serão gravados:Inicie o programa de transferência CP / M
Envie o arquivo hexadecimal para o emulador
Você verá que
LOAD
terminou:Agora você pode executar o programa:
Para sair, execute
BYE
:fonte
Befunge-96 , 25 bytes, seguro
Experimente online!
Surpresa! Como um filme de terror com uma torção ruim, o assassino era o irmão mais velho deformado de Befunge o tempo todo!
O maior truque desse código é a
h
instrução, que encontrei na resposta de James Holderness aqui .h
define o Delta holístico , que altera o valor das instruções encontradas antes de executá-las.Explicação
Agora (para o ponteiro), o código se parece com:
Indo para a esquerda na
j
A parte mais difícil disso foi descobrir quais aspectos de -96 são herdados de -93, quais são precursores de -98 e quais não são. Por exemplo
]
(Vire à direita) está em -98, mas não em -96, enquanto o'
(Buscar caractere) está. Felizmente, esta versão não ricocheteia instruções desconhecidas.fonte
BrainCurses, 12 bytes, quebrado por Rlyeh
Hmmmmmm :)
A saída é separada por espaço (com um espaço à direita).
fonte
Ethereum VM , 170 bytes, seguro
O programa codificado em hexadecimal é:
Está no blockchain!
O programa emite um evento por número, usando uma sequência projetada para confundir que se parece com um comando como tópico e o número como dados.
fonte
xxd
vez de apenas o hexadecimal?-ps
bandeira.Z80 (sabor anagol), 47 bytes, seguro
Emite bytes de 1 a 100. Não tenho certeza absoluta de que isso atenda aos requisitos de um idioma no OP, mas tecnicamente funciona.
Esclarecimento pós-revelação: o chip Z80 possui um artigo da Wikipedia , sua linguagem de máquina é certamente uma linguagem de programação e um intérprete para a máquina Z80 usada está disponível gratuitamente em golf.shinh.org ; O Z80 é frequentemente usado para o código de golfe lá.
A máquina é muito simples: 64k de memória + todos os registros são zerados; o código é colocado em
$0000
e a execução começa aí. Umaputchar
rotina é executada quando o PC chega$8000
. (Há tambémgetchar
, mas é irrelevante aqui.)A parte duvidosa, é claro, é que esse
$8000
comportamento "putchar at " não é inerente ao chip e não é definido por Wikipedia / Esolangs / Rosetta. Você poderia vê-lo como um "intérprete peculiar" ... mas isso é talvez um exagero. Vou deixar a decisão para o OP.Aqui está a desmontagem do programa:
Experimente online : clique em "usar formulário", escolha z80 no menu suspenso, cole no meu código e envie!
Eu esperava que isso fosse quebrado rapidamente, mas agora me sinto um pouco mal. Eu me diverti escrevendo um programa Z80 restrito ao código ASCII imprimível.
EDIT 2018-02-23 : Descrevi a máquina Z80golf em esolangs .
fonte
??? , 145 bytes, quebrado por Dennis
!!!
Produz os números de maneira limpa em uma linha.
fonte
pb , 21 bytes, quebrado pelo MD XF
Saída em caracteres brutos
0x01
-0x64
.fonte
brainfuck , 6348 bytes, quebrado por MD XF
Bastante fácil / longo, mas bonito. Você até vê o foguete subir na tela enquanto rola para baixo.
A saída é bruta.
fonte
2B , 38 bytes, seguro
A saída é caracteres brutos.
fonte
Vidro , 212 bytes, seguro
fonte
05AB1E , 5170 bytes, quebrado por H.PWiz
Ri de Zalgo - Boa sorte (sim, isso executa, acredite ou não, lol).
Experimente online!
fonte
brainfuck , 220 bytes, quebrado por tsh
Sim, alimentar um intérprete de cérebro-bravo faz o trabalho, mas poliglotas são doces.
Sim, este é um programa completo. Imprime todos os pontos de código ASCII de 1 a 100.
Pretendia ser engraçado.
PS Imprime 88 em JS.
fonte
Beatnik , 187 bytes, quebrado por totallyhuman
Produz bytes brutos.
fonte
Sistema de síntese de fala do festival , 1708 bytes, quebrado por fergusq
Hexdump (opcional, se você não gosta de copiar e colar)
O conceito por trás disso é que existem três idiomas aqui: Headsecks (
hs
), zsh (sh
) e o Festival Lisp (fl
). A intenção era que a execução do programa em um ajudasse a obter informações sobre os outros:O arenque (zsh)
bash
não gosta de ter os pontos-e-vírgulas sozinhos no topo (daí "mas qual?"), no entantozsh
, felizes em pegá-los e pular para aecho {1..99};
linha, que se expandirá de 1 a 100 ... exceto 100, é claro.Era suposto ser o mais óbvio, e a intenção era avisar ao ladrão que as dicas da quarta linha se referem a idiomas.
O link (Headsecks)
Parece o que a maioria das pessoas começou: o blob não imprimível (
blame2
) após a primeira linha (premier
). Este é um programa Headsecks (completamente não destruído) que gera isso:Vá para essa mensagem na transcrição e você terá uma conversa agradável . Mas se você
look up
, você entende isso .O obscuro (Festival)
O Festival "Lisp" é realmente apenas um intérprete de esquema incorporado; se você retirasse os numerosos
SayText
s, este programa funcionaria corretamente em quase todos os sabores do Lisp (ponto e vírgula são comentários). Como é, exige queSayText
já esteja definido ... qual é o Festival. Você ouvirá as dicas se você tiver um dispositivo de áudio, após o qual ele imprimirá corretamente de 1 a 100.fonte