사용자:Bestmountian/FRACTRAN

위키백과, 우리 모두의 백과사전.

FRACTRAN 은 수학자 존 호턴 콘웨이가 발명한 튜링 완전난해한 프로그래밍 언어이다. FRACTRAN 프로그램은 자연수 입력값 n과 양의 유리수로 정렬 된 수열의 형태를 갖는다. 이 프로그램은 다음과 같이 n의 값을 갱신하면서 작동한다.

  1. 프로그램의 유리수 f에 대해, nf가 첫 번째 정수이면, n 대신 nf를 입력한다.
  2. 1.을 반복하다가 프로그램의 어떠한 유리수도 n 과 곱했을 때 자연수가 되지 않을 때 정지한다.

존 콘웨이와 리처드 가이는 Book of Numbers에서 다음과 같은 소수 생성 FRACTRAN 프로그램을 제시했다:[1][note 1]

n=2일때, 이 FRACTRAN 프로그램은 다음과 같은 수열을 생성한다.

2, 15, 825, 725, 1925, 2275, 425, 390, 330, 290, 770, ...

n=2 이후, 이 수열은 다음과 같은 2의 소수 거듭제곱들을 생성한다.

4, 8, 32, 128, 2048, ...

예시[편집]

덧셈 프로그램 예시[편집]

변수 a와 b를 더하는 프로그램은 FRACTRAN 언어로 다음과 같이 표현할 수 있다.

이 프로그램은 아래와 같은 과정을 거친다.

FRACTRAN

유리수항

상태  실행
 2의지수>0
 2의지수=0  정지

 을 입력하면 프로그램은  , 결국까지 한 후, 단계가 없는 요인의 2 및 제품 더 이상 수확량 정수라고 기계 다음 정지와의 최종 출력 니다. 따라서 그것은 두 개의 정수를 추가 함께한다.

Notes[편집]

  1. A slightly different but equivalent sequence from Conway (1987) is:

References[편집]

  1. Conway, John H.; Guy, Richard K. (1996). 《The Book of Numbers》. Springer-Verlag New York, Inc. ISBN 0-387-97993-X. 

[[분류:난해한 프로그래밍 언어]] [[분류:계산 모형]] [[분류:유희 수학]]