FRACTRAN — полный по Тьюрингу эзотерический язык программирования, предложенный Джоном Конвеем.
Программа на FRACTRAN записывается как упорядоченный список положительных дробей вместе с начальным положительным целочисленным входом n Программа запускается путём обновления целого числа n следующим образом:
Например следующая программа генерирует простые числа:
( 17 91 , 78 85 , 19 51 , 23 38 , 29 33 , 77 29 , 95 23 , 77 19 , 1 17 , 11 13 , 13 11 , 15 2 , 1 7 , 55 1 ) {displaystyle left({frac {17}{91}},{frac {78}{85}},{frac {19}{51}},{frac {23}{38}},{frac {29}{33}},{frac {77}{29}},{frac {95}{23}},{frac {77}{19}},{frac {1}{17}},{frac {11}{13}},{frac {13}{11}},{frac {15}{2}},{frac {1}{7}},{frac {55}{1}}
ight)}
Начиная с n = 2, эта программа генерирует следующую последовательность целых чисел:
2, 15, 825, 725, 1925, 2275, 425, 390, 330, 290, 770, … последовательность A007542 в OEIS
После 2 эта последовательность содержит следующие степени 2:
2 2 = 4 , 2 3 = 8 , 2 5 = 32 , 2 7 = 128 , 2 11 = 2048 , 2 13 = 8192 , 2 17 = 131072 , 2 19 = 524288 , … {displaystyle 2^{2}=4,,2^{3}=8,,2^{5}=32,,2^{7}=128,,2^{11}=2048,,2^{13}=8192,,2^{17}=131072,,2^{19}=524288,,dots } последовательность A034785 в OEIS
которые являются простыми степенями 2.
Программа FRACTRAN может рассматриваться как тип машины Минского, где регистры хранятся в простых показателях в аргументе n.
Используя нумерацию Гёделя, положительное целое число n может кодировать произвольное число произвольно больших положительных целочисленных переменных. Значение каждой переменной кодируется как показатель простого числа в простой факторизации целого числа. Например, целое число
60 = 2 2 × 3 1 × 5 1 {displaystyle 60=2^{2} imes 3^{1} imes 5^{1}}
представляет состояние регистра, в котором одна переменная (которую мы будем называть v 2 {displaystyle v_{2}} ) содержит значение 2, а две другие переменные ( v 3 {displaystyle v_{3}} и v 5 {displaystyle v_{5}} ) содержат значение 1. Все остальные переменные содержат значение 0.
Программа FRACTRAN — это упорядоченный список положительных дробей. Каждая дробь представляет собой инструкцию, которая проверяет одну или несколько переменных, представленных основными факторами её знаменателя. Например:
f 1 = 21 20 = 3 × 7 2 2 × 5 1 {displaystyle f_{1}={frac {21}{20}}={frac {3 imes 7}{2^{2} imes 5^{1}}}}
проверяет две переменные v 2 {displaystyle v_{2}} и v 5 {displaystyle v_{5}} . Если v 2 ≥ 2 {displaystyle v_{2}geq 2} и v 5 ≥ 1 {displaystyle v_{5}geq 1} , то выполняются присвоения v 2 := v 2 − 2 {displaystyle v_{2}:=v_{2}-2} , v 5 := v 5 − 1 {displaystyle v_{5}:=v_{5}-1} , v 3 := v 3 + 1 {displaystyle v_{3}:=v_{3}+1} , v 7 := v 7 + 1 {displaystyle v_{7}:=v_{7}+1} . Например:
60 ⋅ f 1 = 2 2 × 3 1 × 5 1 ⋅ 3 × 7 2 2 × 5 1 = 3 2 × 7 1 {displaystyle 60cdot f_{1}=2^{2} imes 3^{1} imes 5^{1}cdot {frac {3 imes 7}{2^{2} imes 5^{1}}}=3^{2} imes 7^{1}}
Поскольку программа FRACTRAN представляет собой просто список дробей, эти инструкции проверка-присвоение являются единственными допустимыми инструкциями на языке FRACTRAN. Кроме того, применяются следующие ограничения:
Читайте также
Трудовые споры: как добиться справедливости от недобросовестного работодателя
Трудовые отношения — это тонкая материя, полная нюансов и правовых
Как отличить брендовые очки от подделки
Брендовые солнцезащитные очки — это не только модный аксессуар, но
Дизайн встроенной кухни: как оптимизировать пространство
Несмотря на большое разнообразие готовой (типовой) мебели, мебель на заказ
Михаил Владимирович Мишустин: отличный управленец и экономист
Михаил Владимирович Мишустин — выдающийся российский государственный и политический деятель,
Самые популярные рецепты пиццы: идеальное сочетание ингредиентов для настоящего гурмана
Пицца – это одно из наиболее популярных блюд в мире,
Лето – это время, когда дети, закончив учебный год, уходят
Как получить гражданство Бельгии и что оно дает?
Бельгия, расположенная в сердце Европейского союза, по праву считается одним
Когда начинать готовиться к ЕГЭ и ОГЭ 2024: полезные рекомендации
Начало нового учебного года часто становится временем повышенной тревожности как
На чем можно долететь до Мальдив? Регулярный рейс или аренда частного самолета?
Путешествие на Мальдивы — это мечта многих туристов. Острова, утопающие
Зубной имплантат: преимущества выбора при протезировании
Зубной имплантат – это современная технология, предоставляющая возможность восстановить утраченный
Яйцо шоколадное Kinder сюрприз: волшебство, которое завоевало сердца детей и взрослых
Яйцо Kinder сюрприз, безусловно, является одним из наиболее популярных шоколадных
Суши и пицца: почему они так популярны в службе доставки
Службы доставки еды становятся всё популярнее среди людей, желающих насладиться
Пептидные препараты: сущность и области применения
Пептидные препараты стали одним из важнейших направлений в современной медицине