Дякую Мартіну за 6 байт!
1="/}.!+/M8;
Розширено:
1 = "
/ } . !
+ / M 8 ;
. . . .
. . .
Спробуйте в Інтернеті
Старий, відповідай. Це не вдається, оскільки зображення та пояснення можуть бути корисними новим користувачам Hexagony.
!).={!/"*10;$.[+{]
Розширено:
! ) .
= { ! /
" * 1 0 ;
$ . [ +
{ ] .
Це друкує послідовність Фібоначчі, розділену новими рядками.
Спробуйте в Інтернеті! Будьте уважні, однак інтернет-перекладач не дуже любить нескінченний вихід.
Пояснення
У цій програмі є дві "підпрограми", кожна з яких управляється одним із двох використаних IP-адрес. Перший розпорядок друкує нові рядки, а другий здійснює обчислення та вихід Фібоначчі.
Перша підпрограма починається з першого рядка і весь час рухається вліво вправо. Він спочатку друкує значення вказівника пам'яті (ініціалізований до нуля), а потім збільшує значення вказівника пам'яті на 1
. Після відключення IP-адреси переходить до третього рядка, який спочатку переходить на іншу комірку пам'яті, після чого друкує новий рядок. Оскільки новий рядок має позитивне значення (його значення 10), код завжди переходитиме до п’ятого рядка, наступного. П'ятий рядок повертає вказівник пам'яті на наше число Фібоначчі, а потім переходить на іншу підпрограму. Коли ми повернемося з цієї підпрограми, IP-код відскакує назад до третього рядка, виконавши не-оп.
Друга підпрограма починається у верхньому правому куті і починає рух на південний схід. Після безреактивного руху нам відбивається Захід по другій лінії. Цей рядок друкує поточне число Фібоначчі перед переміщенням вказівника пам'яті на наступне місце. Потім IP переходить до четвертого рядка, де він обчислює наступне число Фібоначчі, використовуючи попередні два. Потім він повертає управління до першої підпрограми, але коли вона повертається до управління програмою, вона продовжується, поки не зустріне стрибок, де вона відскакує над дзеркалом, яке спочатку використовувалося для вказівки на захід, оскільки повертається до другого рядка.
Попередні гарні картинки!
Ліва частина зображення - програма, права частина - пам'ять. Синє поле - це перший IP, і обидва IP-адреси вказують на наступну інструкцію, яку потрібно виконати.
Примітка. Малюнки можуть здаватися досить людям, які мають подібні обмежені вміння з програмами редагування зображень: PI додасть принаймні ще 2 ітерації, щоб використання *
оператора стало більш зрозумілим.
Примітка 2: Відповідь алефальфи я побачив лише після написання більшості цього, я зрозумів, що він все ще цінний через розлуку, але фактичні частини Фібоначчі в наших програмах дуже схожі. Крім того, це найменша програма з шестикутниками, яку я бачив, використовуючи більше ніж один IP, тому я подумав, що все-таки варто було б зберегти: P
^2
це замінником0,1
. +1