Репост этой задачи. Мета обсуждение . Песочница пост . Тело вопроса похоже на оригинал
Эти полицейские и грабители теперь (08/03/2018) закрыты для дальнейших конкурирующих записей полицейских, поскольку грабители могут больше не конкурировать, чтобы взламывать ответы, но могут свободно отправлять новые ответы.
Задача «Копы» была выиграна Денисом с его блестящим 6-байтовым ответом Сесоса
Вызов Robbers был выигран полностью человеком , с поразительными 30 трещинами !
Вызов ментов
Чтобы конкурировать как полицейский:
Выберите язык программирования . Действительным языком программирования является тот, который соответствует всем трем критериям:
- Он имеет статью английской Википедии , в esolangs статью или статью Rosetta код в то время эта проблема была размещена, или на попробовать Интернет! , Наличие переводчика, связанного на любой из этих страниц, делает его полностью легальным.
- Он должен удовлетворять нашим правилам относительно того, что составляет язык программирования
- У него должен быть бесплатный переводчик (как в пиве). Бесплатно здесь означает, что любой может использовать программу, не платя за это.
Напишите полную программу, которая выводит числа от 1 до 100 включительно в порядке возрастания . Вы можете вывести в виде десятичных целых чисел, в виде значений байт-кода (например,
!
для представления 33) или в виде унарных цифр (1111
например, для 4) 1 . При использовании унарного символа вы должны использовать любой непротиворечивый символ для цифр, а другой непротиворечивый символ - в качестве разделителя. Если используются целые числа, вы должны вывести с постоянным нецифровым разделителем между каждым числом. Вы также можете выводить с начальными и конечными символами (такими как[]
), но, пожалуйста, будьте осмысленными (не выводите тысячу байт мусора, например, по обе стороны от количества). Вы должны указать свой выходной формат в своем ответе.Вы не должны принимать среду REPL или существующий шаблонный код. Флаги могут быть использованы, но вы должны указать, какие флаги используются в вашем ответе. Программа должна быть в форме одного или нескольких исходных файлов (чтобы исключить причудливые языки, такие как папки ) и должна полностью соответствовать вашему ответу (поэтому он не должен быть длиннее 65 536 символов) - это не должно быть проблемой для любая серьезная подача.
Если ваш код содержит байты за пределами печатного ASCII + новой строки, пожалуйста, включите шестнадцатеричный дамп, чтобы убедиться, что ваш код действительно тестируемый.
Программа должна завершиться в течение 5 минут на обычном настольном ПК.
Вот и все. Однако, как и во всем, есть подвох. Вы должны стремиться максимально запутать свою программу, так как задача Грабителей состоит в угадывании языка, который вы использовали. Вы также должны стремиться к тому, чтобы ваша программа работала только на предполагаемом языке (хотя это, вероятно, будет менее проблематично, чем взлом Foo в исходном вызове). Выходной формат должен совпадать с вашим предполагаемым решением, чтобы составить допустимую трещину.
После 7 дней прошли без любого обнаруживая любой язык , где ваша программа является действительной трещиной, вы можете показать язык и пометить его как safe
. Обратите внимание, что ваша заявка может быть взломана, пока вы не раскроете язык .
Вы не должны ни при каких обстоятельствах редактировать исходный код вашего представления после публикации (так как это может сделать недействительными активные попытки грабителя взломать ваш ответ). Поэтому убедитесь, что вы играете в гольф так же хорошо, как вы можете (или осмелитесь) перед публикацией. Если вы понимаете, что ваш ответ не работает после публикации, просто удалите свой ответ и, если хотите, опубликуйте фиксированную версию.
Побеждает самая короткая безопасная подача в байтах !
1: если вы хотите выводить по-другому, пожалуйста, спросите в комментариях
Фрагмент стека
Вы можете использовать этот фрагмент стека для более удобного просмотра ответов:
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>
форматирование
(Не стесняйтесь пропустить этот раздел, если вы не планируете участвовать в качестве полицейского)
Это необходимо для ответов нового полицейского, чтобы приведенный выше фрагмент мог их проанализировать.
Новые ответы должны включать такой заголовок:
# ???, [N] bytes
где
[N]
размер вашего кода в байтах и???
должен отображаться буквально.Если ответ не был взломан в течение 7 дней, и вы хотите обезопасить свой ответ, раскрыв язык, просто замените
???
и добавьтеsafe
в конец, например# Ruby, [N] bytes, safe
Не стесняйтесь иметь ссылку на название языка на соответствующий веб-сайт, такой как страница esolangs или репозиторий GitHub. Ссылка будет отображаться в списке лидеров.
Если другой пользователь успешно взломал вашу заявку, пожалуйста, добавьте язык вместе с уведомлением:
# Ruby, [N] bytes, [cracked](crack-link) by [user]
где
[user]
- имя пользователя, представившего первый действительный кряк, иcrack-link
ссылка на соответствующий ответ в ветке грабителей. Пожалуйста, используйте формат короткой ссылки, который вы получаете от кнопки «Поделиться». Не стесняйтесь сделать имя пользователя ссылкой на страницу своего профиля.Если используемый в кряке язык отличается от того, который вы намеревались, ваш ответ все равно будет взломан, и вы должны придерживаться этого формата. Тем не менее, вы можете указать в ответе, что вы хотели, чтобы это было что-то другое. Вы сами выбираете, хотите ли вы раскрыть предполагаемый ответ или хотите, чтобы грабителям было веселее.
Удачи, копы!
источник
Ответы:
Sesos , 6 байт, безопасный
Вывод в десятичном виде.
Попробуйте онлайн!
Sesos могут быть написаны в двоичном или сборочном формате. Файл сборки, который сгенерировал двоичный файл выше, следует.
Попробуйте онлайн!
Потребовалось несколько странных вариантов (бесполезный
fwd 1
, a,nop
который мог быть ajmp
,add 44
аsub 3
неadd 100
and иsub 1
), но мне удалось создать двоичный файл, состоящий исключительно из печатных символов ASCII (поэтому он не будет выглядеть как двоичный файл).источник
Beatnik , 114 байт, потрескавшиеся от Johannes Griebler
Это стихотворение на финском языке! И программа. Он печатает числа в байтах.
Английский перевод:
Я удивлен, что понадобилось так много времени, чтобы взломать это, тем более, что другое представление Beatnik было взломано быстро.
Это не работает с интерпретатором Python (используется в TIO) из-за способа обработки специальных символов. Он считает
Kroohhpyyh-ZZZ-ZZZZ
три разных слова, в то время как его следует понимать как одно большое. Используйте интерпретатор C, чтобы запустить это.Объяснение:
источник
Hexagony , 62 байт, трещины по totallyhuman
Печать десятичных знаков, разделенных одной строчной буквой d.
Я был бы впечатлен, если это работает на любом непреднамеренном языке.
Так как это уже было взломано, вот фактически выполненный код:
Все остальное - неоперация, обозначаемая
.
.источник
8086 DOS COM , 58 байт, трещины на ТСГ
Формат ввода / вывода: необработанные символы
объяснение
Основная программа выглядит так:
Тем не менее, этот вариант использует много непечатаемых символов, что будет большой подсказкой. К счастью, некоторые печатные инструкции включают в себя:
Во-первых, чтобы избежать непечатных символов, вызванных
inc al
, я использовалinc ax
вместо этого, так как переполнение не ожидается. Затем я нашел способ инициализировать AX и BX с помощью только печатных символов.Затем я использовал самоизменяющийся код для исправления непечатаемых в
int 0x10
. Эта инструкция в конечной программе находится в 0x0131, что является значением в SI, эти 5 инструкций дают мне:Затем я обнаружил, что лучший способ получить значение 0x10cd (x86 является прямым порядком байтов) - это xor 0x3080 с 0x204d:
Затем я использовал одно и то же значение XOR еще два раза для двух последних байтов в программе.
Сначала 0x7377 добавляется 0x3080, чтобы получить 0x43f7. Затем 0x ?? 43 (некоторый байт мусора в 0x013a) ^ 0x3080 = 0x ?? c3, который устанавливает два последних байта в правильные значения.
источник
ETA , 83 байта, безопасно
Еще один, который больше ASCII-искусство, чем код (хотя этот должен быть сложнее взломать). Выходы в кодовых точках ASCII.
Попробуйте онлайн!
ETA использует 8 команд
ETAOINSH
(без учета регистра) и игнорирует все остальное. Выполнение кода здесь:Что значит:
источник
HA|E TRYING TO CRACK THIS!!! >:(
MATL, 46 байт, трещины по totallyhuman
Мне было весело, когда я пытался сделать это несколько похожим на Mathematica, и старался сделать его довольно неочевидным. Я знаю только два языка, так что взломать это было, вероятно, не так сложно.
Объяснение:
источник
??? , 1167 байт, потрескавшиеся от Dennis
Честно говоря, не уверен, как долго это продлится, но это было довольно весело.
источник
Карри PAKCS, 57 байт, взломанный Potato44
Похоже на Haskell, но он не работает в Haskell.
источник
[x]++s
), но его нужноimport IO
использовать,putStr
и, похоже, он не подходит..
для диапазонов.Вихрь , 3905 байт, трещины по Potato44
Это будет очень быстро взломано или не будет вообще.
источник
Jolf, 7 байт, трещины по DevelopingDeveloper
Выходные данные разделены числами
|
.Как это работает:
источник
Пробелы , 369 байт, трещины по Adyrem
Это полиглот как минимум на 9 языках, но должен работать только один. Оооооочень удачи!
Подсказка:
Welp. Это было быстро взломано.
Для справки, 9 языков были:
!
с, но не работает из-заinconsistent use of tabs and spaces in indentation
;))источник
Файл для сохранения Порошковой игрушки , 529 байт, взломан tsh
Исправление моего последнего (теперь удаленного) ответа, часть которого я пропустил.
Загрузить: https://hellomouse.cf/moonyuploads/golfmagic
Формат вывода: одинарное значение отображается на экране
источник
xxd
hexdump вместо этого, пожалуйста?Hexagony , 69 байт, трещины по totallyhuman
Вывод имеет десятичные числа, за которыми следуют
f
, то есть:Реальная планировка:
Как это работает (нажмите на картинку для увеличения):
На этапе инициализации IP проходит через
#
, перенаправляя на тот же IP, поскольку ячейка равна 0, и захватывает некоторые ненужные буквы перед добавлением двух пустых ячеек перед ним (получая 0), а затем изменяется на 1:После этого IP входит в основной цикл. Он выводит текущее число с
!
, помещаетd
(100) в память и немного перетасовывает указатель памяти, прежде чем поместитьf
в память и вывести его с помощью;
. Затем он перемещается немного больше, прежде чем вычесть d / 100 из текущего числа и увеличить результат, давая от -98 до 0, если число от 1 до 99, или 1, если число равно 100. Затем IP входит в ветвь.Если значение увеличенного вычитания равно 1, счетчик достиг 100, а IP выбрал странный путь - мы вернемся к этому позже. В противном случае, IP снова перемещает указатель памяти, а затем возвращает его к центральному значению и увеличивает его, теперь указывая противоположное направление. IP перепрыгивает через a,
>
чтобы повторно войти в петлю на этапе печати.К тому времени, когда мы напечатали все, мы теперь берем вторую ветвь. Память выглядит следующим образом: IP идет по золотому пути, сильно изменяя память, и попадает туда, где она началась, и возвращается назад, вплоть до самого конца . Память выглядит следующим образом: поскольку 101 - это 5 mod 6, IP переключается с 0 на 5 на сером пути. Больше перетасовки памяти происходит до тех пор, пока IP-адрес снова не переходит : так как 110 равен 2 mod 6, IP переключается с 5 на 2 и сразу же завершает работу.
<
#
#
@
источник
@
И/}O'=){/'HI}-){
просто смотрел много как Hexagony. : P Кажется, что Гексагония просто не может сойти с рук, хотя я не совсем знаю, что она делает.С (8cc + ELVM), 34 байт, трещины по H.PWiz
Это печатает 100 символов ASCII.
источник
main
функцииmain(int argc, char** argv)
,X
занимает местоargc
здесь. Обычные компиляторы C берутargc=1
иargv[0]
являются путем к исполняемому файлу.Проиграл , 189 байт, потрескавшиеся от Dom Гастингс
Это будет слишком легко взломать, но я получал удовольствие, делая это.
источник
Троичный , 310 байтов, сейф
Первый безопасный полицейский!
Я удивлен, что это оказалось безопасным, учитывая то, что вы видите, если вы посмотрите в конце. Мне стало лень во время запутывания: P
Если вы посмотрите на конец, вы увидите кучу 1, 2 и 0. Это база три - троичная .
Спецификация Тернари рассматривает только программы, состоящие только из заданных цифр, но интерпретатор, на который ссылается страница Esowiki, имеет странное поведение:
22
, игнорируйте их и переходите к следующей паре.22
, пропустите следующую пару.Это означает, что только смежные группы
([01][012]|2[01])+
в коде на самом деле имеют какое-либо значение.источник
11
s в коде)Исполняемый файл Z80 CP / M , 242 байта, безопасный
Повторно размещено, на этот раз с указанным форматом вывода.
Код содержит ... несколько непечатаемых символов, так что вот обратимый
xxd
:Формат вывода: необработанные символы.
Это действительный PNG, который при увеличении выглядит так:
Это изображение одновременно является программой Piet и программой Brainloller, благодаря верхнему левому пикселю, который действует на обоих языках. В Piet указатель команд перемещается между областями пикселей одного цвета, а различия в цвете между областями кодируют инструкции. Это означает, что в Piet вы можете начать с любого цвета. В Brainloller это просто цвета пикселей, которые используются для кодирования инструкций. Поэтому я решил начать с cyan, который поворачивает указатель команд по часовой стрелке в Brainloller, делая этот полиглот тривиальным.
Как вы теперь знаете, обе эти графические программы были ловушками - я надеялся, что по крайней мере один грабитель укажет их в качестве своих предположений, уменьшая вероятность того, что этот ответ будет взломан. Piet печатает числа от 1 до 100, но в виде десятичных целых чисел, а не указанных необработанных символов. Когда я впервые опубликовал это, я забыл указать это, сделав его тривиальным. С другой стороны, Brainloller начинается в два. Поскольку это необработанные персонажи, я надеялся, что кто-то не заметит. Как сказал H.PWiz, это не должно интерпретироваться как PNG.
Сначала я написал программы на Piet и Brainloller, а также программу CP / M, которая выглядит следующим образом:
Затем я просмотрел различные форматы изображений и обнаружил, что работать с PNG проще всего. PNG состоит из магического числа и последовательности блоков. Программа, которую вы видите выше, находится в блоке палитры. Сначала я хотел просто разместить блок палитры, чтобы исполнению было легче скользить по всей этой чепухе, но блок IHDR должен быть первым. Как оказалось, заголовок изображения PNG с индексом 10x10 не содержит никаких инструкций, которые записывают в память или изменяют поток управления ... до CRC блока IHDR. Однако я вспомнил, что байт 0x01 является 16-битной немедленной загрузкой, что может помочь. Последний байт перед CRC был чересстрочным флагом, поэтому я перевернул его, посмотрел на новую контрольную сумму и пришел к выводу, что это будет работать.
Я пробовал много разных инструментов, чтобы вставить программу в палитру. В спецификации я обнаружил, что блок палитры был разработан здравомыслящим человеком, что означает, что он просто перечисляет все цвета, по одному байту на канал, RGBRGBRG B. Я начал копаться в документации Python Imaging Library, когда я понял, что это можно сделать с помощью графического интерфейса GIMP.
Я соврал насчет адреса загрузки в ассемблерную программу, чтобы получить правильные адреса. Я сгруппировал байты программы в группы по три, чтобы получить 6 цветовых кодов. В GIMP я преобразовал изображение в индексированное, создал копию его палитры для чтения и записи, преобразовал ее обратно в RGB, добавил 6 новых цветов один за другим, затем тщательно скопировал все цвета в начале палитры до конца и удалил оригиналы, потому что в GIMP нельзя просто перемещать цвета. В конце я снова преобразовал изображение в индексированное с помощью заданной палитры, и после установки нескольких флажков, чтобы GIMP не удалял неиспользуемые цвета, я был готов.
Чтобы проверить это на эмуляторе:
Извлеките тарбол
Скомпилируйте эмулятор
Скомпилируйте инструменты поддержки
Запустите CP / M
Скопируйте выше xxd и в другом окне преобразуйте его обратно в двоичный файл
Теперь прибывает
хакерскаяумная часть. Это единственный способ передать файл на эмулированную машину. Сначала преобразуйте его в файл Intel HEX. Из-за того, как работает принимающая программа, вам нужно указать адрес загрузки. Если вы этого не сделаете, он перезапишет очень важную память, и при сохранении файла первые 256 байтов не будут записаны:Запустите программу передачи CP / M
Отправьте шестнадцатеричный файл в эмулятор
Вы увидите, что
LOAD
прекращено:Теперь вы можете запустить программу:
Чтобы выйти, запустите
BYE
:источник
Befunge-96 , 25 байт, безопасный
Попробуйте онлайн!
Сюрприз! Как фильм ужасов с плохой неожиданностью, убийца все время был уродливым старшим братом Бефунга!
Самая большая хитрость этого кода -
h
инструкция, которую я нашел в ответе Джеймса Холдернесса здесь .h
устанавливает целостную дельту , которая изменяет значение инструкций, встреченных до их выполнения.объяснение
Теперь (по указателю) код выглядит так:
Идя налево на
j
Самым сложным было выяснить, какие аспекты -96 унаследованы от -93, которые являются предшественниками -98, а какие нет. Например
]
(Поворот направо) в -98, но не в -96, в то время как'
(Выбор символа) есть. К счастью, эта версия не отскакивает от неизвестных инструкций.источник
BrainCurses, 12 байт, трещины по Rlyeh
Хмммммм :)
Вывод разделен пробелом (с завершающим пробелом).
источник
Эфириум В.М. , 170 байт, безопасно
Шестнадцатеричная программа:
Это в блокчейне!
Программа генерирует одно событие на число, используя строку, предназначенную для путаницы, которая выглядит как команда как тема, а число - как данные.
источник
xxd
вместо только гекс?-ps
флаг.Z80 (со вкусом анагола), 47 байт, безопасный
Выводит байты от 1 до 100. Я не совсем уверен, что это удовлетворяет требованиям для языка в OP, но это своего рода технически.
Разъяснение после раскрытия: У чипа Z80 есть статья в Википедии , его машинный язык, безусловно, является языком программирования, а интерпретатор используемой машины Z80 находится в свободном доступе на golf.shinh.org ; Z80 часто используется для игры в гольф.
Машина очень простая: 64 Кб памяти + все регистры обнуляются; код помещается в
$0000
и выполнение начинается там.putchar
Процедура выполняется , когда компьютер достигает$8000
. (Естьgetchar
, но здесь это не имеет значения.)Конечно, сомнительная часть заключается в том, что такое
$8000
поведение «putchar at » не присуще чипу и само по себе не определено в Wikipedia / Esolangs / Rosetta. Вы могли видеть это как "причуду интерпретатора" ... но это, возможно, натянуто. Я оставлю решение ОП.Вот программа разборки:
Попробуйте онлайн : нажмите «Использовать форму», выберите z80 из выпадающего меню, вставьте мой код и нажмите «Отправить»!
Я ожидал, что это расколется довольно быстро, но теперь я чувствую себя немного плохо. Мне было весело писать программу на Z80, ограниченную печатным кодом ASCII.
РЕДАКТИРОВАТЬ 2018-02-23 : Я описал машину Z80golf на esolangs .
источник
??? 145 байт, потрескавшиеся от Dennis
!!!
Чисто выводит числа в одну строку.
источник
рь , 21 байт, трещины на MD XF
Выход в сырых гольцов
0x01
-0x64
.источник
brainfuck , 6348 байт, взломан MD XF
Довольно легкий / длинный, но красивый. Вы даже можете увидеть, как ракета движется вверх по экрану при прокрутке вниз.
Выход сырой.
источник
2B , 38 байт, безопасно
Вывод сырых символов.
источник
Стекло , 212 байтов, сейф
источник
05AB1E , 5170 байт, трещины по H.PWiz
Смеется в Zalgo - Удачи (да, это выполняется, верите или нет, лол).
Попробуйте онлайн!
источник
бред , 220 байтов, треснул
Да, кормление в интерпретаторе мозгового штурма делает работу, но полиглоты сладки.
Да, это полная программа. Печатает все кодовые точки ASCII от 1 до 100.
Предполагается быть смешным.
PS печатает 88 в JS.
источник
Битник , 187 байт, взломанный полностью человеком
Выводит необработанные байты.
источник
Фестиваль системы синтеза речи , 1708 байт, трещины по fergusq
Hexdump (необязательно, если вам не нравится копирование-вставка)
Идея заключается в том, что здесь существует три языка: Headsecks (
hs
), zsh (sh
) и настоящий Festival Lisp (fl
). Намерение состояло в том, что запуск программы в одном поможет понять другие:Сельдь (зш)
bash
не любит иметь точки с запятой наверху (отсюда «но какие?»), однако сzsh
радостью возьмет их и перейдет кecho {1..99};
строчке, которая расширится от 1 до 100 ... за исключением 100, конечно.Предполагалось, что это будет наиболее очевидным, и цель состояла в том, чтобы предупредить грабителя о том, что подсказки четвертой строки относятся к языкам.
Ссылка (Headsecks)
Это похоже на то, с чего начинали большинство людей: непечатаемый blob (
blame2
) после первой строки (premier
). Это (полностью безглядная) программа Headsecks, которая выводит это:Перейти к этому сообщению в стенограмме, и вы получите этот восхитительный разговор . Но если вы
look up
, вы получите это .Дальний (Фестиваль)
Фестиваль «Лисп» действительно просто встроенный интерпретатор Scheme; если вы уберете множество
SayText
символов, эта программа будет работать корректно практически на любом языке Lisp (точки с запятой - это комментарии). Как это, это требует,SayText
чтобы уже было определено ... что это в фестивале. Вы услышите, как это звучит, если у вас есть аудиоустройство, после чего оно правильно распечатает от 1 до 100.источник