콘웨이의 헬로우 월드


24

모든 프로그래머는 해당 언어를 한 눈에 본 후 모든 프로그래밍 언어로 "hello world"프로그램을 작성할 수 있어야한다고 말합니다 ( 일부 더 살펴본빠른 정렬 ).

는 AS 생명의 콘웨이의 게임 튜링 (는 범용 프로그래밍 언어로 자격 때문에) , 문제는 자체 설명입니다 :

"Hello World!"를 만드십시오 Conway 's Game of Life만을 사용하는 응용 프로그램! 유일하게 유효한 항목은 Conway 's Game of Life의 초기 상태 입니다.

  • 텍스트 "Hello World!"와 유사한 인식 가능한 모양이 포함되어 있지 않습니다 .
  • 텍스트 "Hello World!"와 유사한 인식 가능한 모양 이 포함됩니다 . 합리적인 수의 사이클 내에서 (좋은 PC에서 몇 분 이상 실행하지 않아야 함-수십억 사이클이 가능하며 충분해야 함)
  • "Hello World!"가있는 지역 초기 상태에서는 텍스트가 비어 있어야합니다 ! (그렇지 않으면 문제가 너무 쉬울 것입니다.) 아무도 그렇게 할 수 없다면, 우리는이 요구 사항을 "대부분 비우기"로 줄일 수 있습니다.

채점 :

우승자는 첫 번째 유효한 제출 후 대략 1 주 동안의 투표 수를 기준으로합니다.

투표 지침 :

  • 더 정교하고 아름다운 출력은 더 가치가 있어야합니다
  • 많은 사이클에서 안정적인 출력은 다음 사이클에서 인식 할 수 없도록 사라지는 것 이상의 가치가 있어야합니다.
  • 영구적 인 사이클에 잠겨 있거나 흥미로운 패턴에서 시작하는 솔루션은 리버스 시뮬레이션의 무작위 시행 착오가 아니라 지능적인 상태 설계를 입증하기 때문에 가장 가치가 있습니다.

항목은 주목할만한 시뮬레이터 또는 응답자가 링크하는 온라인 시뮬레이터 중 하나 이상이 읽을 수있는 형식이어야합니다 . 애니메이션 또는 초기 상태로 설정된 시뮬레이터에 대한 링크도 허용되며 권장됩니다. 몇 사이클 내에 출력이 보이지 않으면 항목은 어떤 사이클 후에 결과를 볼 것인지 지정해야합니다.


편집하다:

생성되는 문구에 약간의 공차가있을 수 있습니다. " Hello, World!", " hello, world" " HELLO WORLD!"등 이 될 수 있습니다 .


그 문구 어딘가에 쉼표가 없어야합니까?
ardnew

@ardnew : 어떤 문구?
vsz

생성되는 문구 :Hello, world!
ardnew

@ardnew : 감사합니다, 나는 부록을 편집했습니다. 궁극적으로 유권자들이 결정하기 때문에 의도적으로 약간의 모호함을 남겼습니다 . 주요 규칙 중 하나를 직접 위반하지 않았으며 유권자가 사소한 세부 사항에 대한 귀하의 해석을 좋아할 것이라고 생각하는 경우 원하는 방식으로 자유롭게 수행하십시오!
vsz

1
내 시뮬레이터 를 사용할 수 있습니다 (RLE 및 일반 텍스트 가져 오기). 개발에는 좋지 않지만 적어도 적절한 속도로 임의의 큰 패턴을 실행합니다. 또한 패턴을 업로드하고 요청이있을 경우이를 연결 가능 할 수 있습니다
복사

답변:


50

이것에 대한 나의 첫 번째 시도는 비교적 간단한 해결책입니다. 두 개의 글라이더 배럴을 발사합니다. 각 글라이더 쌍은 블록으로 바뀌고 텍스트를 형성합니다. 이 프로세스는 약 16000 세대가 걸립니다 (프레임 스킵을 설정하거나 시뮬레이터에서 수퍼 스텝 버튼을 사용할 수 있음).

직접 링크 . 마우스 오른쪽 버튼으로 움직이고 마우스 휠로 줌하십시오.

.rle 파일에 링크 (Golly와 함께 사용 가능)

패턴 32 : 1의 이미지 :

패턴 이미지 32 : 1


4
캔버스를 지원하는 브라우저가 있고 시작 패턴이 보이지 않으면 스크롤 휠로 축소하십시오. 그것을 해결하는 데 시간이 걸렸습니다.
피터 테일러

우수한! codegolf.stackexchange.com/a/5946/3527 및 웹 사이트를 본 후이 과제에 대한 솔루션을 게시 할 것으로 기대했습니다 .
Cristian Lupascu

1
@ w0lf 패턴을 만드는 것은 시뮬레이션과는 매우 다른 종류의 도전입니다. 그래, 난 이것으로 재미 있어요
복사

2
축하합니다! 이상하게도 다른 해결책을 제시 할 용기를 가진 사람은 아무도 없었습니다. 실제로 게시 된 솔루션이 없다면 훨씬 더 작고 상세하지는 않지만 매우 유사한 것을 수행했을 것입니다 (블록을 ​​형성하기 위해 수렴하는 글라이더). 어떻게했는지 물어봐도 될까요? 프로그램으로 생성했거나 수동으로 위치를 계산 했습니까?
vsz

1
@vsz 패턴은 작은 파이썬 스크립트에서 생성됩니다. 나는 일주일이 일부 사람들에게는 짧은 마감일이라고 생각한다. (그래서 아무도 시도하지 않은 이유)
복사
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.