당신의 임무는 Brainfuck 변형에서 현재 셀을 0으로 만드는 코드 조각을 작성하는 것입니다. 각 셀은 정상적인 0에서 255 대신 임의의 큰 크기 의 부호있는 정수를 포함 할 수 있습니다 .
현재 셀 의 왼쪽에 l 개의 셀이 있고 처음에 0 인 r 개의 셀 이 있다고 가정 할 수 있습니다 . 프로그램은 이러한 l + r +1 셀 에만 액세스 할 수 있습니다 . 코드가 끝나면 l + r 추가 셀을 0으로 유지하고 원래 위치에서 현재 셀에 대한 포인터를 남겨 두십시오 .
입 / 출력을 사용할 수 없습니다.
가장 작은 l + r을 가진 코드가 이깁니다. 동점이 있으면 가장 짧은 코드가 승리합니다. 참조를 위해 프로그램의 시간 복잡성을 언급하는 것이 좋습니다. 여기서 n 은 현재 셀에서 원래 정수의 절대 값입니다.
유용한 도구
mbomb007의 TIO에서이 인터프리터를 사용 하여이 변형에서 Brainfuck 프로그램을 테스트 할 수 있습니다..
boothby 로이 답변에 인터프리터를 사용할 수도 있습니다 (다른 Python 답변도 작동하지만 테스트하지는 않았습니다).
I have tagged it code-golf because I think we will reach the optimal l+r quickly.
—
jimmy23013
그것은 당신의 의견에서 들리는 것처럼, 당신은 임의의 큰 정수를 의미했습니다. 양수이거나 음수 일 수 있습니다. 이것은 일부 사람들의 영어 방언의 차이이므로 매우 긍정적이거나 부정적 일 수 있음을 분명히하는 것이 도움이 될 수 있습니다.
—
isaacg
@ jimmy23013 서명 된 셀이있는 BF 인터프리터가 있습니까?
—
mbomb007
@ mbomb007 codegolf.stackexchange.com/a/3085/25180 그러나 아마도 너무 골프 ...
—
jimmy23013
@Mego Why? In the "real" challenge, you must also get the optimal l+r, which will probably make it more difficult to reduce the code size.
—
jimmy23013