Ваша задача - создать кратчайший бесконечный цикл!
Задача этой задачи - создать бесконечный цикл, не производящий вывод, в отличие от его возможного дубликата. Причина этого заключается в том, что код может быть короче, если не указан вывод.
правила
- Каждое представление должно быть полной программой.
- Вы должны создать кратчайший бесконечный цикл.
- Даже если ваша программа в конечном итоге исчерпает память, она все равно будет принята, если она работает все время от начала до момента, когда у нее заканчивается память. Также, когда ему не хватает памяти, он все равно не должен ничего печатать в STDERR.
- Программа не должна вводить данные (однако чтение из файла разрешено) и не должна ничего печатать в STDOUT. Вывод в файл также запрещен.
- Программа не должна ничего писать в STDERR.
- Не стесняйтесь использовать язык (или языковую версию), даже если он более новый, чем этот вызов. - Отметьте, что должен быть переводчик, чтобы представление могло быть проверено. Разрешается (и даже поощряется) самостоятельно писать этот переводчик для ранее не реализованного языка. : D
- Представления оцениваются в байтах в соответствующей (ранее существующей) кодировке, обычно (но не обязательно) UTF-8. Некоторые языки, такие как папки, немного сложнее оценить - если есть сомнения, пожалуйста, спросите на Meta.
- Речь идет не о поиске языка с самой короткой программой с бесконечным циклом. Речь идет о поиске самой короткой программы с бесконечным циклом на каждом языке. Поэтому я не приму ответ.
- Если выбранный вами язык является тривиальным вариантом другого (потенциально более популярного) языка, на который уже есть ответ (например, диалекты BASIC или SQL, оболочки Unix или тривиальные производные Brainf ** k, такие как Alphuck), рассмотрите возможность добавления примечания к существующему Ответьте, что такое же или очень похожее решение является самым коротким на другом языке.
- Для этого языка должен быть веб-сайт, такой как Википедия, Esolangs или GitHub. Например, если язык CJam, то в заголовке можно указать ссылку на сайт, например
#[CJam](http://sourceforge.net/p/cjam/wiki/Home/), X bytes
. - Стандартные лазейки не допускаются.
(Я взял некоторые из этих правил из теста «Hello World» Мартина Бюттнера)
Пожалуйста, не стесняйтесь оставлять в комментариях, чтобы рассказать мне, как можно улучшить эту задачу.
Каталог
Это фрагмент стека, который генерирует как алфавитный каталог используемых языков, так и общую таблицу лидеров. Чтобы убедиться, что ваш ответ обнаружен, начните его с этого заголовка Markdown:
# Language name, X bytes
Очевидно, замена Language name
и X bytes
с соответствующими элементами. Если вы хотите сделать ссылку на веб-сайт языков, используйте этот шаблон, как указано выше:
#[Language name](http://link.to/the/language), X bytes
Теперь, наконец, вот фрагмент: (попробуйте нажать «Полная страница» для лучшего просмотра.)
var QUESTION_ID=59347;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=41805;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"//api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"//api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){data.items.forEach(function(c){if(c.owner.user_id===OVERRIDE_USER)answers_hash[c.post_id].comments.push(c)});if(data.has_more)getComments();else if(more_answers)getAnswers();else process()}})}getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;var OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(a){return a.owner.display_name}function process(){var valid=[];answers.forEach(function(a){var body=a.body;a.comments.forEach(function(c){if(OVERRIDE_REG.test(c.body))body='<h1>'+c.body.replace(OVERRIDE_REG,'')+'</h1>'});var match=body.match(SCORE_REG);if(match)valid.push({user:getAuthorName(a),size:+match[2],language:match[1],link:a.share_link,});else console.log(body)});valid.sort(function(a,b){var aB=a.size,bB=b.size;return aB-bB});var languages={};var place=1;var lastSize=null;var lastPlace=1;valid.forEach(function(a){if(a.size!=lastSize)lastPlace=place;lastSize=a.size;++place;var answer=jQuery("#answer-template").html();answer=answer.replace("{{PLACE}}",lastPlace+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link);answer=jQuery(answer);jQuery("#answers").append(answer);var lang=a.language;lang=jQuery('<a>'+lang+'</a>').text();languages[lang]=languages[lang]||{lang:a.language,lang_raw:lang,user:a.user,size:a.size,link:a.link}});var langs=[];for(var lang in languages)if(languages.hasOwnProperty(lang))langs.push(languages[lang]);langs.sort(function(a,b){if(a.lang_raw.toLowerCase()>b.lang_raw.toLowerCase())return 1;if(a.lang_raw.toLowerCase()<b.lang_raw.toLowerCase())return-1;return 0});for(var i=0;i<langs.length;++i){var language=jQuery("#language-template").html();var lang=langs[i];language=language.replace("{{LANGUAGE}}",lang.lang).replace("{{NAME}}",lang.user).replace("{{SIZE}}",lang.size).replace("{{LINK}}",lang.link);language=jQuery(language);jQuery("#languages").append(language)}}
body{text-align:left!important}#answer-list{padding:10px;width:500px;float:left}#language-list{padding:10px;padding-right:40px;width:500px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="language-list"> <h2>Shortest Solution by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr> </thead> <tbody id="languages"> </tbody> </table> </div> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr> </thead> <tbody id="answers"> </tbody> </table> </div> <table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table>
""
пустую строку?Ответы:
Befunge , 0 байт
Ага. Программа Befunge существует в двумерном игровом поле с фиксированным размером, которое оборачивается по краям. В этом пространстве ничего не мешает, счетчик программы по умолчанию работает в бесконечном цикле :)
источник
<pre> </pre>
пустой блок кода.L00P , 0 байт
Этот язык был создан для зацикливания, и это именно то, что он будет делать ...
источник
Машинный код C64 , 2 байта
Разветвляется, если не установлен нулевой флаг.
Ветви - это однобайтовые смещения от следующего местоположения команды, а 254 - это -2 в дополнении к двум ... инструкция BNE (D0) занимает один байт памяти, а смещение занимает второй байт, поэтому ответвление на два байта обратно ответвляется назад к себе. Флаг нуля всегда сбрасывается при загрузке кода в память.
Обратите внимание, что это не рекурсивный вызов подпрограммы, поэтому у вас никогда не закончится память. Также обратите внимание, что нет заголовка, компилятора или исполняемого файла ... это действительно двухбайтовая программа :)
источник
BNE -2
debug
. Это эффективно блокировало бы машину, и большинству сотрудников магазина не хватало ума знать, что это не просто мертвый двигатель.Brainfuck, 3 байта
Никогда не уменьшать: никогда не кончится.
источник
-[]
]
будет работать/// , 3 байта
Какие-нибудь бонусные баллы за использование названия языка в качестве исходного кода?
источник
///
;)esolangs.org
wiki
_
_
_
_
/wiki////
. Хотя это и должно быть путем, сервер может делать с этой информацией все, что захочет.Java , 53 байта
Yay полное требование программы!
источник
main
:(Пролог, 5 байт
Чтобы узнать, является ли предикат
a
истинным, вам нужно только проверить, является ли предикатa
истинным.Вам нужно загрузить файл и выполнить
a
оба с аргументами командной строки. Обратите внимание, что рекурсия, вероятно, будет оптимизирована как бесконечный цикл и не должна разрушать стек.Кроме того, это выглядит как смайлик, но я не знаю, как это назвать. Точка выглядит как слюна, так что, может быть, «вегетативное состояние», или «Программист с вьющимися волосами». Предложения приветствуются.
источник
a
верно лиa
это, проверив,a
истинно ли это, проверив, истинно ли это, проверив ... yay рекурсию!Haskell , 9 байт
Бесконечная рекурсия основной функции. Должен быть скомпилирован в цикл из-за оптимизации хвостовой рекурсии.
источник
<<loop>>
исключение - по крайней мере, с помощьюghc
. Может быть, какой-то другой компилятор ведет себя по-другому.runhaskell Loop.hs
счастливо выполненным за несколько минут на моей машине. Так что, по крайней мере, он может быть запущен переводчиком. Я думаю, что<<loop>>
исключение времени выполненияghc
является чисто реализацией среды выполнения, а не частью языка Haskell, как указано в любом из отчетов Haskell.runhaskell
счастливо принимает код, но он не зацикливается Это ничего не делает. Тем не менее, вызов требует только создать цикл, а не выполнять его, поэтому я думаю, что все в порядке. Есть +1.main = main
семантически находятся в том же сегменте, чтоundefined
иerror "<<loop>>"
: нижние значения ⟂.main=main>>main
Python, 9 байт
Работает в 2 и 3.
Укорочено @FryAmTheEggman
источник
Исполняемый файл x86 ELF, 45 байт
В отличие от подавляющего большинства из этих ответов, это действительно полная программа, как и в автономной исполняемой программе.
Суть программы в байте 0x20
ebfe
, который представлен в другом ответе как самая маленькая программа NASM. Однако, если вы соберете это с помощью NASM, вы получите исполняемый файл с тысячами ненужных байтов. Мы можем избавиться от большинства из них, используя методику, изложенную здесь . Вы можете заметить, что эта программа даже не такая большая, как заголовок ELF! Этот бит исполняемого гольфа искажает заголовок ELF и заголовок программы, поэтому они могут занимать одни и те же байты в файле и вставляет нашу программу в некоторые неиспользуемые байты в заголовке. Linux по-прежнему с радостью прочитает заголовок и начнет выполнение со смещением,0x20
где он вращается вечно.источник
.com
на DOS будет намного короче :)yasm && ld
делает исполняемые файлы только около 1к.ИНТЕРКАЛ,
4218 байтИдея взята из комментария @ flawr.
РЕДАКТИРОВАТЬ: Святое дерьмо, INTERCAL на самом деле короче, чем C #. Я не знаю, случалось ли это когда-либо раньше ...
42-байтовая версия
источник
comefrom
PLEASE
?Perl , 6 байт
От
perldoc -f redo
:Я не вижу
redo
слишком часто в производственном коде, но это здорово для гольфа! Сравните выше самые короткие эквивалентыfor
,while
иgoto
:источник
do$0
, который не работает какperl -e
однострочный.do EXPR
читает из файла.> <> , 1 байт
Один пробел заставит> <> войти в бесконечный цикл NOP
Другие допустимые односимвольные программы (без требований к памяти):
Кроме того, правила гласят, что вашей программе может не хватить памяти, и в этом случае мы можем добавить следующие символы в список допустимых 1-байтовых программ:
источник
` `
для блока кода.>
?Motorola MC14500B Машинный код ,
0,50 байтовобъяснение
В соответствии с руководством, система настроена на циклическую структуру управления. Программный счетчик считает до самого высокого значения, возвращается к нулю и снова считает.
источник
LOLCODE , 24 байта
источник
HAI
иKTHXBYE
не нужны.C, 15 байтов
Да, можно звонить
main()
рекурсивно. Если у вас есть компилятор, который выполняет оптимизацию хвостового вызова (скажем, gcc с-O2
опцией), он даже не работает по умолчанию: компилятор достаточно умен, чтобы превратить вызов функции вgoto
.источник
-O2
опции.-O2
оптимизацию «привлекательной», а не требованием.l(){l();}
и не скомпилировать его с опциями-Dl=main -O2
main(){for(;;);}
.Лабиринт , 1 байт
Лабринтная программа выполняет одну и ту же инструкцию снова и снова, если нет соседей. Они также не закончатся, пока не выполнят
@
инструкцию.источник
Vim , 7 нажатий клавиш
Откройте редактор, желательно без каких-либо загруженных скриптов, например, вот так из командной строки:
vim -u NONE
Vimscript,
158 байтДобавьте его в сценарий или запустите непосредственно,
:
сначала нажав клавишу двоеточия ( ), пока вы находитесь в обычном режиме.источник
wh1|endw
qq
начинает запись вq
буфер.@q
воспроизводит то, что находится вq
буфере (на данный момент, ничего).q
останавливает запись, а затем@q
воспроизводит то, что находится вq
буфере, который в этот момент является нажатием клавиш@q
. Так что@q
повторы@q
повторов@q
.... также, когда я пишу это многоq
, мой мозг болит.Сетчатка , 3 байта
Если задан один файл, Retina использует стадию подсчета, заменяя ввод количеством совпадений, найденных для данного регулярного выражения. Здесь, регулярное выражение есть
0
. Теперь+
зацикливает этап до тех пор, пока результат изменится с предыдущей итерации. Так что именно происходит?0
сопоставляется с пустым вводом, давая ноль совпадений, поэтому результат равен0
. Это отличается от ввода, поэтому мы запустим это снова.0
сопоставляется с предыдущим выводом0
, который теперь дает одно совпадение ... так что результат1
.0
сопоставляется с предыдущим выводом1
, который не удается ... так что результат0
.Результат итерации цикла чередуется между
0
и1
, что а) гарантирует, что цикл никогда не завершается, и б) гарантирует, что у нас не хватает памяти, потому что строка не увеличивается.По умолчанию Retina выводит только после завершения программы, так что это ничего не печатает (вы можете изменить это поведение, добавив
>
после+
, который будет печатать чередующиеся нули и единицы ).Начиная с 1.0, Retina также имеет более традиционные циклы while, которые вы можете использовать с более простым этапом (который не изменяет строку все время), но на самом деле им требуется больше байтов. Один вариант будет:
источник
+`
совпадать с пустым вводом несколько раз?2
через несколько итераций.Бейсик (QBasic 4.5),
1053 байтаВ языке программирования BASIC RUN используется для запуска выполнения программы из прямого режима или для запуска оверлейной программы из программы-загрузчика.- Википедия
Редактировать: это работает без номера строки в QBasic 4.5, в соответствии с @steenbergh
Вот первая версия, которую я разместил. Бесконечный GOTO цикл. Кроме того, это 10 байтов, что является хорошим совпадением!
источник
1 GOTO SIGNUM PI
- поскольку постоянные целые числа хранятся в памяти дважды, как короткие, поэтому 1 будет 4 байта, но SIGNUM и PI оба используют только один байт каждый. Ах, старые приемы кодирования, которые мы использовали: D Не уверен, сколько номеров строк памяти занимают, если они есть, поэтому я могу сказать только, что это 3+ байта (хранения номеров строк).Тип узла TIS T21 Архитектура, 6 байтов
Узлы Tessellated Intelligence System классифицируются как узлы «обработки» или «хранения». Узлы хранения просто хранят и извлекают информацию, и в этом случае не имеют значения. Остальные являются узлами обработки. Тип узла T21, или Базовый узел выполнения, является наиболее распространенным и простым (как следует из названия).
Технически, каждый узел можно рассматривать как независимый компьютер. В случае T21 это компьютер, который имеет два регистра хранения (один адресуемый, а другой нет) и набор команд из 15 команд. У него достаточно памяти для программирования до 15 инструкций. Все узлы TIS имеют четыре порта, соединяющих их с топологически смежными узлами. При чтении из порта этот узел зависает до тех пор, пока узел на другом конце не выполнит запись в него, а запись в порт зависает до тех пор, пока этот узел не прочитает его.
Теперь вы можете сказать, что узлы TIS никогда не должны были делать много самостоятельно. Вместе, однако, они могут быть довольно мощными ... ну, для своего времени. Из-за этих ограничений очень редко можно увидеть, как кто-то использует только один узел. На самом деле, программа, которая принимает входные данные и обеспечивает вывод на их основе должна использовать как минимум три узла, поскольку системы TIS подают ввод в
UP
порт узла в верхнем ряду и принимают вывод изDOWN
порта узла в нижнем ряду. Есть три строки, поэтому данные должны пройти как минимум через три узла, чтобы добраться до дна.Из-за этих ограничений узлы TIS предназначены для общего использования примерно так:
Из-за этого, ограниченного пространства для инструкций и того факта, что узлы просто тихо ждут и не создают проблем при попытке прочитать входные данные, которых там нет, в их конструкции было принято решение, которое делает их очень хорошими для этой задачи. Я процитирую из справочника TIS-100:
Отлично! Бесконечные циклы по умолчанию для узлов TIS.
Я почти почти ответил на этот вопрос 0-байтовым ответом, утверждая, что пустой узел был бесконечным циклом. Тем не менее, я исследовал дальше. Во-первых, вышеприведенная цитата гласит, что цикл происходит после выполнения последней инструкции . Кроме того, я проверил реализацию. Каждый узел всегда сообщает о «режиме». Он не доступен программно, но предназначен для облегчения отладки. Вот возможные режимы:
Оказывается, поскольку каждый узел является отдельным компьютером, они способны определять, есть ли у них инструкции для выполнения. Если нет, они остаются в
IDLE
состоянии (скорее всего, для экономии энергии). Как таковой, я не мог с чистой совестью утверждать, что это «зацикливание»; скорее, каждый узел сидел тихо, предполагая, что другие делают что-то важное.Эта программа, которую я отправил, является действительно бесконечным циклом, поскольку при его выполнении устанавливается состояние узла
RUN
. Это так просто , как можно было бы ожидать,NOP
выполняетN
уплотнительноеOP
чество. Как только это сделано , ничего не делая, выполнение возвращается в начало кода:NOP
.Если вы обнаружите , что неудовлетворительно , что я злоупотребляя архитектуру T21 , чтобы создать цикл, я предлагаю альтернативное решение по стоимости 2 байта:
JRO 0
.JRO
означаетJ
UMPR
elative КООНO
nditionally. Или что-то, я думаю. Там нет согласованной расширенной формы инструкций. В любом случае,JRO
принимает числовой аргумент и переходит на выполнение на эту величину относительно текущей позиции. Например,JRO 2
пропускает инструкцию, которая следует за ней (полезно, если к этой инструкции переходят откуда-то еще).JRO 1
прыгает вперед одной команды, что делает егоNOP
. прыгает к себе, выполняя себя навсегда.JRO -1
выполняет возврат назад на одну инструкцию, эффективно выполняя предыдущую инструкцию каждые два цикла, пока программа не будет остановлена. И, конечно же,JRO 0
В этот момент вы можете подумать:
Хороший вопрос, спасибо за вопрос. Можно наивно думать, что программы TIS должны учитываться так же, как мы считаем программы в нескольких файлах: количество байтов во всех узлах плюс 1 байт для каждого дополнительного узла после первого. Однако сообщество TIS по гольфу решило, что это будет несправедливо по той простой причине, что оно игнорирует некоторую информацию, необходимую для воссоздания решений. Соседи узла очень важны, и этот метод оценки дает вам информацию о местоположении бесплатно. Вместо этого мы приняли формат, используемый в наиболее распространенном эмуляторе TIS: TIS-100, (Примечание: пожалуйста, не называйте эмуляторы после системы, которую они эмулируют. Это не умно, это просто раздражает и заставляет всех постоянно разъяснять, о чем они говорят.) Это очень просто: 12 узлов TIS-100 устройства нумеруются слева направо и сверху вниз, пропуская все узлы хранения, установленные эмулированной системой. Узел,
N
содержащий номер,# CODE\n# CODE\n CODE
сохраняется так:И так, узел с номером 0 содержит
NOP
оценку в соответствии с его представлением в этом формате:Шесть байтов
Поскольку я часто включаю в свои ответы на визуально интересных языках, вы можете посмотреть, как эмулятор TIS-100 выполняет эту программу на YouTube . Хотя, учитывая, что это за проблема, я не знаю, что вы ожидаете увидеть ...
источник
JRO
выступал за J UMP к R elative О ffset.C # ,
383736 байтДля цикла без условий остановки.
Возвращение main должно быть int, но так как оно никогда не достигнет конца, оно должно скомпилироваться. (Проверено в VS 2015 и 2013, также работает в Ideone ). Благодарности Geobits и Майклс .
Можно получить более короткую версию, 35 байт, но распечатки,
Process is terminated due to StackOverflowException
которые, как я считаю, нарушают третий пункт - ничего не печатать в stderr. Кредит MichaelBисточник
;
вместо{}
? Я бы попробовал, но онлайн-сервисы не очень любят бесконечные циклы.class B{static int Main()=>Main();}
Foo, 3 байта
Всеми любимый язык программирования! : D
источник
Гексагония , 1 байт
Я не знаю много об этом удивительном языке, созданном @ MartinBüttner, но из того, что я видел, это должно повторяться бесконечно, так как нет никакой
@
возможности остановить программу..
это просто неоперация.источник
Perl, 4 байта
Выполняет себя неоднократно.
источник
do EXPR
читает из файла, который технически должен быть введен, но ОП пояснил, что файловый ввод / вывод является приемлемым. Действительно, круто то, что, в отличие от аналога в Bash, скажем, что он не запускает никаких новых процессов, поэтому он будет продолжаться бесконечно, не выходя за пределы памяти или процессов.Гаммаплекс , 0 байт
В Gammaplex невозможно написать программу, которая не является бесконечным циклом. Поэтому я просто пишу программу, которая не использует ввод / вывод.
источник
Pyth, 2 байта
Пиф ожидает токены после оператора навсегда. (Это пробел.)
источник
bash + BSD coreutils,
23 22 14 6 56 байтyes
выводит "у" навсегда;>&-
закрывает STDOUT.Спасибо @Dennis и @ThisSuitIsBlackNot за помощь в уменьшении размера!
источник
$0
сценарий и запустить его, он будет вызывать себя вечно.while :;do :;done
всего 17 байт.ping>&- 0
работает в Linux, где0
отображается на localhost.yes
! (Я думал об использовании,yes
но мне не пришло в голову отказаться от вывода.) Вы можете сохранить один байт с помощьюyes>/dev/null
Common Lisp, 6 символов
источник
(do()(()))
.do
тоже думал о том , чтобы заставить читателя идти бесконечным циклом, но я не вижу, как это сделать в ближайшее время. Кажется, ничто не сравнится(loop)
.расщепление , 1 байт
Есть ровно 4 однобайтовых решения:
Эти четыре буквы указывают, что атом начинается там (в соответствующем направлении). Один из них необходим, потому что без атома программа завершается немедленно. Так как исходный код имеет размер только один символ, атом немедленно обернется и снова выполнит ту же ячейку. Однако после начала программы
UDLR
просто действуйте, чтобы отклонить входящий атом в соответствующем направлении, поэтому в этом случае они становятся неактивными.источник