Polyglot Anagrams 경찰 스레드


44

이 과제에는 두 가지 스레드가 있습니다. 이것이 경찰의 실입니다. 강도 실은 여기있습니다 .

OEIS 시퀀스 를 선택하고 STDIN을 통해 n 또는 다른 형식의 표준 입력을 제공 할 때 시퀀스에서 n 번째 항목을 생성하는 두 개의 다른 언어로 두 개의 전체 프로그램 을 작성 하는 것이 어렵습니다 ( 여기서 n은 양수 임). 그러나 두 프로그램은 반드시 아나그램이어야합니다. 즉, 각 프로그램은 상대방의 편지에서 재 배열 될 수 있습니다.

프로그램은 숫자의 십진수와 STDOUT에 선택적 공백을 출력해야합니다. 프로그램은 STDERR로 출력 될 수 있지만 무시해야하며 숨겨진 경우에는이를 명시해야합니다.

원하는 경우 문자 코드로 출력 할 수도 있습니다. 그러나 숨겨진 솔루션에서 그렇게하는 경우 제출 본문에이를 명시해야합니다.

그런 다음 OEIS 번호에 대한 소스 코드의 이름을 선물 할 것이다 이 개있는 언어를.

강도는 이미 제출 한 언어가 아닌 다른 언어로 실행되는 원본 제출의 아나그램을 찾으면 제출을 금합니다. 답변 균열 그들은 단지 찾아야 어떤 순서를 생산하고 반드시 원래의 철자 바꾸기가 아니라 당신이 생각했던 대답은 언어와 프로그램을.

따라서 기호 목록을 사용하여 작업을 수행하는 모든 언어를 찾기가 어렵도록 장려됩니다.

채점

이것은 이므로 가장 짧은 균열이없는 프로그램이 승자입니다.

언어

제안 된 두 솔루션이 두 언어로 작업을 완료하지 않으면 언어가 다른 것으로 간주됩니다. 여기에는 경찰의 솔루션이나 강도 솔루션이 다른 언어로 올바른 결과를 생성하지 않는 한 동일한 언어 의 다른 버전이 포함 됩니다.

즉, 언어 A와 B에있는 두 개의 솔루션 1과 2가 각각있는 경우 솔루션 2는 언어 A에서 올바른 출력을 생성하지 않아야하고 솔루션 1은 언어 B에서 올바른 출력을 생성하지 않아야합니다.

안전

제출물이 일주일 동안 크랙되지 않은 경우 솔루션을 게시하고 게시물을 안전하게 선언 할 수 있습니다. 일주일이 지난 후에도 솔루션을 게시하지 않으면 답변에 여전히 금이 갈 수 있습니다.


4
아이디어를 무작위 OEIS 시퀀스를 탐색하려면로 이동 oeis.org/webcam
mbomb007

Perl과 같이 인터프리터에 플래그를 사용하려는 언어에서는 어떻게 작동합니까? 실격됩니까? 플래그는 코드의 일부로 계산됩니까? 플래그가 "무료"입니까 (코드에 포함되지 않거나 전혀 공개되지 않습니까)?
Emigna

숨겨진 프로그램이 오류 (출력을 생성 한 후)와 함께 종료 될 수 있습니까? 그 대답에 표시해야합니까?
Luis Mendo

1
이것이 다른 사람에게 도움이 될지 확실하지 않지만 나머지 누락 된 문자 또는 복제 된 문자를 강조 표시합니다. codepen.io/anon/pen/BQjxRK
Dom Hastings

1
크랙되지 않은 답변을 보여주는 스택 스 니펫이 있으면 좋을 것입니다.
mbomb007

답변:


15

Python 2, 118 바이트, A042545 크랙

i=input();s=1/(801**.5-28);a=[0,1]
for p in range(i):a+=[a[-2]+a[-1]*int(s)];s=1/(s-int(s))
print a[i]#,,,.//000fhlmo|

나는 사소한 시퀀스를 구현하고 싶지 않아서 PPCG 사용자 ID를 사용하기로 결정했습니다. 나는 이것을 다른 언어로 먼저 썼는데, 그것은 당신이 그 언어가 무엇인지에 대한 단서를 제공해야하지만, 의도 된 다른 언어로 깨지기 전에 이것이 골프 언어로 깨질 것이라고 100 달러를 걸었습니다.

참고 : 부동 소수점 정밀도 오류로 인해 이는 최대 14 입력까지만 정확합니다. 의도 된 솔루션은 같은 방식입니다.

의도 된 솔루션, JavaScript (ES7)

for(i=prompt(),s=1/(801**.5-28),a=[1,0];i--;s=1/(s-n))
  n=s|0,a.unshift(a[1]+a[0]*n);
alert(a[0])  //#+2:[]giiiiinnpt

JS가 음의 인덱싱을 지원하지 않기 때문에 시퀀스는 가장 작은 것보다는 가장 큰 것부터 저장되지만 파이썬 솔루션과 거의 같은 방식으로 작동합니다.


2
A042545 (15)의 경우 작동하지 않습니다. OEIS는 53000053이라고 말하지만 프로그램은 27666361 (적어도 내 컴퓨터에서는)이라고 말합니다.
boboquack

@boboquack의 출력 16은 실제로 53000053이지만 그 후에는 일치하는 용어가없는 것 같습니다. 이유가 궁금합니다.
ETHproductions

어쩌면 점진적으로 악화되는 부동 소수점 오류입니까?
boboquack


1
젠장, 내가 옳았 어! :( 이것은 내가 얻을 수있는 한 가깝습니다 : gist.github.com/dom111/bd9be933cb8ccd0e303601bf73d525b6 어쨌든 운동 주셔서 감사합니다,하지만 필요 |()하지만 얻을 수 없었습니다!
Dom Hastings

10

Brain-Flak, 24 바이트, A000290 , 안전

또 다른 사각형 솔루션. 이번에는 괄호 외에는 아무것도 없습니다

({(({}[()])()){}[()]}{})

의도 된 솔루션은 스택 대신 큐를 사용하는 브레인 플랙 버전 인 Brain-Flueue에있었습니다 . 프로그램은 다음과 같습니다

({(({})[()]){}}{})[()()]

다른 언어로 실행될 때 두 프로그램 중 어느 것도 정지하지 않기 때문에 언어는 구별되는 것으로 간주됩니다.


문자 코드를 사용한 입력 / 출력이 허용되는 경우 이것은 Glypho에서 작동합니다.
jimmy23013

Glypho 란 무엇입니까?
밀 마법사

6
esolangs.org/wiki/Glypho ((([{}{}{]]}[)))((){))(}
jimmy23013

@WheatWizard 금이 간 경우 답변을 편집하여 표시 할 수 있습니까?
mbomb007

@ mbomb007 그것은 깨지지 않았다
밀 마법사

7

Python 2, 38 바이트, A000290 Emigna에 의해 금이 간

def e(X):return X*X
print e(input())##

이것은 아마도 매우 쉽게 깨질 것입니다. 나는 주로 이것을 출발점으로 게시하고 있습니다.

CJam의 Orignial 솔루션 :

ri:XX*e#def ()return X
e#pnt (input())


7

CJam , 7 바이트, A005843 금이 갔다 !

ri2*e#^

이것은 기본 2*n순서입니다.

설명:

r          e# read input
 i         e# convert to integer
  2*       e# multiply it by 2
    e#^    e# this is a comment that is ignored by the interpreter

온라인으로 사용해보십시오!


원래 솔루션, 당근

#^i*2er

당근은 내가 만든 esolang입니다. 오래 전에 개발을 중단했습니다. 내가 선택한 이유는 다른 언어가 코드의 불필요한 부분을 주석 처리하기 어려울 것이기 때문입니다.

설명:

#^            This pushes the input to the stack (anything before the ^ is the stack)
  i           Convert stack to integer
   *2         Multiply it by 2
     er       These are ignored because they are not Carrot commands
              Implicit output

온라인으로 사용해보십시오!


1
ri#e^*2*지수 대신 곱셈 이라면 젤리에서 작동 합니다. 그래서 가까운 ...
ETHproductions

3
금이 :).
Adnan

나는 rpyth를 제외한 모든 것을 가지고있었습니다 . 이 코드의 원래 코드를 보는 것이 흥미 롭습니다.
Emigna

1
@Emigna 나는 원래 코드를 추가했다
Kritixi Lithos


5

Brain-Flak, 44 바이트, A000290 크랙

<({({})({}[()])}{}))()()()turpentine/"*"*4splint>

온라인으로 사용해보십시오!


독창적 인 솔루션, Python 2

print(input()**(len(set("{}{}{}[]()<>"))/4))


지금 정말 궁금합니다. 원래 의도 한 솔루션은 무엇입니까? 내가보기 때문에 나는 그것의 파이썬을 말할 수 len set inputprint(내가 파이썬처럼 당신을 알고 있기 때문에)하지만 난 어떻게 사각형 수 알아낼 수 없습니다
DJMcMayhem

@DrMcMoylex 님이 추가 함
Wheat Wizard


5

Python 2, 25 바이트, A000583 , 크랙

Y=input("");print`Y**4`,X

이 프로그램은 출력을 인쇄 한 후 오류와 함께 종료됩니다.


내 숨겨진 코드 (실제로 깨진 솔루션과 다릅니다!) :

실제로 , 25 바이트

4,n`*`Y")ii(*nppruttY;="X

온라인으로 사용해보십시오!

설명:

4,n`*`Y")ii(*nppruttY;="X
4,n                        input, repeat 4 times
   `*`Y                    do * until the stack stops changing (fixed-point combinator)
       ")ii(*nppruttY;="X  push this string and immediately pop and discard it


5

Python, 118 바이트, A042545 , 안전

i=int(input());s=pow(801.0,0.5);a=[0|0,1]
for Moshprtflmah in range(i):s=1./(s%1);a+=[a[-2]+a[-1]*int(s)];
print(a[i])

이번에는 2와 3 모두에서 작동합니다. 그리고 의견은 없습니다! 무엇을 하시겠습니까?

참고 : 이전 솔루션과 마찬가지로 부동 소수점 산술 오류로 인해 처음 15 개 용어 이후에는 정밀도가 떨어집니다.

의도 된 솔루션, JavaScript (ES6)

giiiiinnnnprt:
i=prompt([n=+2]);s=Math.pow(801,.5);for(a=[1,0];i--;a.unshift(a[1]+a[0]*(s|0)))s=1/(s%1)
alert(a[0])   

몇 가지 이전 버전을 유지했지만 어떻게 든 사본 을 잃어 버렸지 만 다행히도 다른 사본과 함께 복사하는 것은 그리 어렵지 않았습니다. 나는 prt골프를 쳤을 수있는 두 프로그램 모두에 관계없는 것을 알았습니다. 오 잘


원한다면 이걸 안전하다고 표시 할 수 있다고 생각합니다.
위트 마법사

@WheatWizard 감사합니다. 의도 한 솔루션을 추가했습니다.
ETHproductions

5

Python 2, 124 바이트, A144945 , [안전]

크래킹하면 500 회 현상금이 지급됩니다! 너무 늦었 어!

n x n 체스 판에 2 개의 여왕을 배치하여 서로를 공격하는 방법의 수.

너무 쉽지 않기를 바랍니다. 공백이 명확하게 보이도록 코드를 정렬했습니다. 그것들은 공백과 개행입니다.

참고 : 문자 코드를 통한 의도 된 솔루션 출력

n=input();print((3+2)*n*n+~0*6*n+1)*n/3;            +6;



























+7+7+7+7+7+7+7+7+7;+++++++++++++++9+9*9*9

온라인으로 사용해보십시오

의도 된 솔루션, Headsecks :

r2=ni***p**
(


p((0 ;3+++3;+;/


)





i+++nn
 +)7
n

n+++ 


17+~
 +)7;97++++7


69+9n+ ++7+n 69
 +7+ ++7


**7+++tut

이것은 다음 BF 프로그램과 같습니다.

>>,[->>>+>>>+>>>+++++<<<<<<<<<]>>>->>>>>>-<<<[[>+<-]>[>>[<<<+>>+>-]<[>+<-]<-]<<<<]>>+++>[-<-[<+<<]<[+[->+<]<+<<]>>>>>]<<<.,.

4

퍼지 옥토 과카 몰리 , 26 바이트, A070627 [안전]

49++*5^pm#]%:"?:.=:#,|"1:@

테스트 사례 :

1 -> 1
3 -> 23
5 -> 1

해결책:

^::::|*?1=#@]","%.#49++5pm

Magistack에서 작동합니다.


여보세요! 이 답변은 안전하다고 표시 될 수 있습니다. 서두를 필요는 없지만 일주일 안에 아무도 금이 간 적이 없다 잘 했어, 나는 해결책을보고 싶어한다
밀 마법사

쿨, 집에 도착하면 한 번만 해줄 게
Rɪᴋᴇʀ

3

Pyth, 75 바이트, A004526 갈라진 우유

다른 것보다 재미있는 테스트가 많지만

/Q/////////////////****22222 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2;;;;;

온라인으로 사용해보십시오!

우유 솔루션 (볼록한) :

2/Q2 2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2*2*2*; 2*;                 2; 2; 2;

온라인으로 사용해보십시오

의도 된 솔루션 (///) :

/*///;2/;// ///22/Q//2;///;//;***2222222222222222222222                    

온라인으로 사용해보십시오

마지막 세미콜론 이전에 2의 ​​형태로 입력을 취하여 올바른 수의 Q를 출력합니다.

시퀀스는 0- 인덱싱됩니다 (즉, 0은 0, 1은 0, 2는 1, ...)

///에서 약간의 구문 오류가 발견되어 모든 솔루션을 편집했습니다.



3

MATL, 7 바이트, A000217 , 크랙

:sp{1}x

순서는 n(n+1)/2입력에서 시작 (삼각형 번호), n=1도전에 의해 지정된 : 1, 3, 6, 10, (입력에 대한 출력은 0두 프로그램에서 동일하게 보장 할 수 없습니다).

다른 언어로 된 프로그램은 오류와 함께 종료됩니다 (STDOUT에서 올바른 출력을 생성 한 후).

온라인으로 사용해보십시오!

:            % Push [1 2 ... n], where n is implicit input
 s           % Sum of that array. Gives the desired result
   p         % Product of that. Gives the same number
    {1}      % Push a cell array containing number 1
       x     % Delete it


@StevenH. 잘 했어! 내 원래 솔루션은x:ps{}1
Luis Mendo


3

파이썬 3, 27 바이트, A000012 ,

이번에는 입력이 없습니다!

if 1:
    if 1:
        print( '1' )

들여 쓰기는 탭이지만 바이트를 저장하지는 않습니다. 공백에 필요합니다.

TIO 링크 나 설명이 필요하지 않다고 생각합니다!

(어쩌면 어떤 식 으로든 균열하는 데 시간이 오래 걸리지 않을 것입니다)

의도 된 답변 (공백) :

-Start-


    if1:if1:print('1')
-End-

(프로그램의 일부가 아닌 시작 및 종료)

죄송합니다. STDERR에 인쇄되는 것을 추가하는 것을 잊었습니다.

온라인으로 사용해보십시오!



나는 이것이 공백이라고 생각하지만 STLF는 [LF] [LF] [LF]로 끝나는 데 필요한 줄 바꿈이 없기 때문에 STDERR에 오류를 인쇄합니다.
Martin Ender

1
@milk 다시는 아닙니다! : D
boboquack

1
그것은 작업을 수행하지만 @boboquack 않습니다 (당신이 TIO에 디버그 모드를 활성화하여 볼 수있는) STDERR에 인쇄를하고, 도전은 답변 STDERR에 숨겨진 언어 쓰기 여부를 지정할 필요가 있다고 말한다.
Martin Ender


3

퍼지 옥토 과카 몰리 , 11 바이트, A001844 [Safe!]

hha02^d+**+

dh*h++^2*0a파이스 (Pyth ) 에서는 일종의 균열이있다 . 그래도 올바른 출력 형식이 아닙니다.

내 코드는 여전히 저기 있습니다! (Pyth에는 없습니다)

테스트 사례 :

0 -> 1
1 -> 5

해결책:

^++d0ah*2*h

Jolf에서.


1
맹세합니다. 이것이 Jolf를 위해 만들어진 것처럼 보이지만, 나는 단지 그것을 알아낼 수 없습니다 d.
ETHproductions

(나는 ... 희망)
ETHproductions

@ETHproductions 아, 좋아. 그래도 확실하지 않습니까? 편집을 참조하십시오.
Rɪᴋᴇʀ

내 코드는 줄 바꿈을 인쇄하지만 공백은 없습니다. 유효한 코드와 동일합니다.
Rɪᴋᴇʀ

@EasterlyIrk 내가 말한 것에도 불구하고 대답은 균열을 제공한다고 생각하지 않습니다. 나는 내가 말한 모든 것이 여전히 사실이지만 공백 유효 출력을 이끌어내는 것을 고려하지 않으며 그것을 반영하기 위해 질문을 수정할 것입니다.
밀 마법사

2

WinDbg, 39 바이트, A000007 Cracked by jimmy23013

~e.block{j(0>=@$t0)?@$t0+(1<7);??0}t":"

의 어려운 순서 0**n.

의사 레지스터에 값을 전달하여 입력을 수행합니다 $t0.

내 원래 솔루션은 C #이었습니다.

@t=>(object)(0<@t?0:1)??"$$700~lk.{}+";


2

자바 스크립트 ES6, 38 바이트, A000290 , 크랙

J=>eval(Array(J).fill(J).join`+`)|2-2;

이 정사각형 열차는 꽤 근사하지만 아무데도 빨리 가지 않습니다. (얻어? 스퀘어 트레인? 바퀴처럼? 아니? 알았어, 좋아. 비평가들 .)


의도 된 답변 : 망상 ( 온라인 시도 )

in2Jo;=>eval(Array(J).fill(J).j`+`)|-2
in      take input, convert to number
  2J    raise to the second power
    o;  output and terminate; ignores following chars

2
귀하의 코드는 다른 언어가 J : P
ETHproductions


2

MATL , 13 바이트, A002275 크랙 됨!

i:"@ax'1']
v!

온라인으로 사용해보십시오!

설명:

i           % Grab input
 :          % Push (range(1,input))
  "         % For each element in this range:
   @        %   Push it
    a       %   Is is truthy?
     x      %   Delete it
      '1'   %   Push '1'
         ]  %   End loop
v           % Join all of these '1's together
 !          % Transpose and display

1
나는 이것이 Vim에있는 것처럼 느낀다. 그러나 나의 인생 동안 나는 그것을 부술 수 없다
Wheat Wizard


2

2sable , 13 바이트, A002378 , 크랙 됨!

내가 뭔가를 놓치지 않기를 바랐다. a (n) = n × (n + 1)을 계산 합니다 .

>*?"!&)<=@\\}

내 버전 :

?"\>@&*})<\=!

또는 펼쳐진 버전 :

  ? " \
 > @ & *
} ) < \ =
 ! . . .
  . . .

있습니다 >왼쪽 상단 모서리에있는합니다 (2sable 프로그램 제외) 사용되지 않습니다. 나는 강도를 혼동하기 위해 이것을했다 (그러나 분명히 하하가 작동하지 않았다).

온라인으로 사용해보십시오!



@MartinEnder 잘 했어! 원래 답변으로 답변을 업데이트하겠습니다 :).
Adnan


2

Befunge 93 , 14 바이트, A121377 , 우유로 깨짐 !

&52* %68*+ .@Q

재미있는 사실 : 이것에 대한 의도 된 해결책은 제가 그 언어를 처음 사용한 것입니다.

Pyth에서 내 솔루션. & @ 오류를 인쇄하지만 OP에 따라 무시되는 STDERR로 이동합니다.

+%Q*5 2*6 8.&@


2

Python 2, 35 바이트, A048735 , 안전

print(lambda u:u&u<<1)(input())>>1

원래 솔루션은 내 프로그래밍 언어 인 Wise 였습니다.

:<<>&>print(lambda uuu1)(input())1

대부분의 캐릭터는 무관심합니다. 중요한 인물은 처음 6 명입니다. :스택에 첫 번째 항목의 사본 두 개를 만듭니다. <<>비트는 왼쪽으로 두 번 이동하고 오른쪽으로 한 번 이동하며 이는 한 번 왼쪽으로 비트 이동하는 것과 같습니다. &비트 단위와 맨 위 및 두 번째 항목 (원본 및 비트 이동 사본)을 가져옵니다. 마지막으로 >비트가 오른쪽으로 한 번 이동합니다.


2

05AB1E, 5 바이트, A000012 , 안전

$;$1?

1의 순서. 온라인으로 사용해보십시오

예정된 솔루션 : Arcyou

1;$$?

온라인으로 사용해보십시오 . 이 언어에 대한 설명서를 찾을 수 없으므로 어떻게 작동하는지에 대한 설명이 없습니다.


바보 세미콜론 ... 나는 거의 망막을 사용할 수 있지만 내가 가진 모두 수 1;.
mbomb007

1
이것은
밀 마법사

이 답변은 이제 안전하다고 표시 될 수 있습니다. 이 문제를 해결하기 위해 많은 시간을 보냈기 때문에 의도 한 답변을보고 싶어합니다.
밀 마법사

이 답변이 "허용됨"으로 표시되어서는 안됩니까?
mbomb007

1

파이썬 2, 70 바이트, A000217 금이 갔다 !

나는 이것이 다른 버전에 사용 된 언어로 깨지지 않을 것이라고 생각합니다.

o=input()
v=0
i=1
while o:
 v+=i
 i+=1
print v


#|  d00->1@@@++-^,,[

나중에 코드를 잘못 난독 화했다는 것을 깨달았습니다 (게시 된 답변의 유효성을 변경하지는 않습니다). Haystack에서 시작한 코드는 다음과 같습니다.

v
0
v
0
i
1
-
>      d0[v
^-1@+@d+1@?,,o|


1

05AB1E , 9 바이트, A000042 크랙 됨!

1×,1*-^$)

이것은 자연수단항 표현 (OEIS)입니다. 3예를 들어 입력 값이 이면 출력값은입니다 111.

설명:

                    # implicit input
1                   # pushes 1 to the stack   
 ×                  # pushes "1" × (the input)
  ,                 # outputs the stack
   1*-^$)           # irrelevant

온라인으로 사용해보십시오!


원래 솔루션, 당근

1^*$-1×^)

설명

1^             Push "1" to the stack
  *            Multiply the string by
   $-1         ...the input (as an integer) minus 1 times
      ×,)      Ignored by the interpreter

*에 의해 문자열 곱 (n+1)배, 그래서 a^*3결과 aaaa가 아니라 aaa. 그래서 1입력에서 뺄셈 했습니다.

이제는 )두 언어에서 모두 관련이 없음을 알고 있습니다.

온라인으로 사용해보십시오!



원래 숨겨진 언어는 무엇입니까?
밀 마법사

@WheatWizard Whoops, 그것을 찾아 주셔서 감사합니다. 나는 언어를 지금 추가했다
Kritixi Lithos

1

J, 2 바이트, A000290 , 크랙

*~

글쎄, 그 2 바이트로 갈 수도 있습니다. n x n 또는 n 2를 산출합니다 .

의도 된 솔루션, Jolf, 2 바이트

*~

잘. 네. 이것은 내 자신의 언어이며 ~확장 된 문자를 찾지 만 작동하지 않기 때문에 작동한다고 생각 합니다. ¯ \ _ (ツ) _ / ¯ 죄송합니다.



@StevenH. 좋은 작업! 의도 한 솔루션으로 편집했습니다.
Conor O'Brien 1

@ ConorO'Brien 의도 한 솔루션이 올바른 솔루션이 아닙니다. 언어를 구별하기 위해 원래 언어 나 솔루션이 두 언어 모두에서 폴리 글 로트가 될 수 없음
Wheat Wizard

@WheatWizard 아. 어색합니다.
코너 O'Brien



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.