이것은 경찰과 강도 도전입니다. 이것은 강도의 실입니다. 경찰의 스레드가 여기에있다 .
경찰은 OEIS 에서 시퀀스를 선택하고 해당 시퀀스에서 첫 번째 정수를 인쇄 하는 프로그램 p 를 작성합니다 . 또한 일부 문자열을 찾을 것 들 . p 어딘가에 s 를 삽입하면 이 프로그램은 시퀀스에서 두 번째 정수를 인쇄해야합니다. p 의 동일한 위치에 s + s 를 삽입하면 이 프로그램은 시퀀스에서 세 번째 정수를 인쇄해야합니다. 같은 위치에있는 s + s + s 는 네 번째 등을 인쇄합니다. 예를 들면 다음과 같습니다.
파이썬 3, 시퀀스 A000027
print(1)
숨겨진 문자열은 2 바이트 입니다.
+1
프로그램 print(1+1)
은 A000027에서 두 번째 정수를 print(1+1+1)
인쇄하고 프로그램 은 세 번째 정수 등 을 인쇄 하기 때문에 문자열은입니다 .
경찰은 순서, 원래 프로그램 p 및 숨겨진 문자열 s 의 길이를 밝혀야합니다 . 강도는 해당 길이 까지의 문자열 과 시퀀스를 생성하기 위해 삽입 할 위치를 찾아서 제출을 해독합니다 . 문자열이 의도 한 솔루션과 일치하여 유효한 균열이 아니거나 삽입 된 위치가 아니어야합니다.
경찰 답변 중 하나를 해독하는 경우 솔루션 (숨겨진 문자열과 위치가 표시된 상태)과 답변 링크를 게시하십시오. 그런 다음 경찰이 여기에 당신의 균열에 대한 링크로 대답하십시오.
규칙
솔루션은 순서에 관계없이 숫자에 상관없이 또는 메모리 제한, 정수 / 스택 오버플로 등으로 인해 실패하는 합리적인 한계까지 작동해야합니다.
우승 강도는 가장 많은 제출물을 크랙하는 사용자이며 순위 결정자가 해당 크랙 수에 먼저 도달 한 사람입니다.
우승 경찰이 가장 짧은 문자열과 경찰 인 의 금이되지 않습니다. Tiebreaker는 가장 짧은 p 입니다. 크랙되지 않은 제출물이 없으면 해결책을 가진 경찰이 가장 오랫동안 승리했습니다.
안전하다고 선언하려면 솔루션이 1 주일 동안 크랙되지 않은 상태로 유지되고 숨겨진 끈 (및 삽입 위치)이 공개되어야합니다.
s 는 중첩 될 수 없으며, 엔드 투 엔드로 연결되어야합니다. 예를 들어, 들 이었다
10
, 각 반복은 갈 것10, 1010, 101010, 10101010...
보다는10, 1100, 111000, 11110000...
모든 암호화 솔루션 (예 : 하위 문자열의 해시 확인)이 금지됩니다.
s 에 ASCII가 아닌 문자가 포함 된 경우 사용중인 인코딩도 지정해야합니다.
%
왼쪽 연결 을 사용하면 작동한다는 것이 흥미 롭습니다 .