Quine Anagrams! (캅스 스레드)


22

이것이 경찰의 실입니다. 강도 스레드를 보려면 여기를 클릭 하십시오 .

경찰의 임무

  • 먼저, 원하는 언어로 퀴즈를 작성하십시오.
  • 다음으로 퀴네를 뒤섞습니다. 강도가 그것을 해독하고 원래의 소스 코드를 찾으려고 노력할 것이므로 이것을 잘하십시오! 스크램블 된 코드는 작동하지 않아도됩니다.
  • 이 글타래에 답을 올리세요. 언어, 바이트 수 및 스크램블 된 코드를 포함하십시오.

프로그램이 STDERR로 인쇄되지 않을 수 있습니다.

다음은 경찰 제출의 예입니다.

파이썬, 29 바이트

nt _%=_r;_riinp;pr_='t _%%%_'

강도의 임무

강도 스레드를 보려면 여기를 클릭 하십시오 .

안전한 제출

일주일의 게시 후에도 제출물이 아직 크랙되지 않은 경우 솔루션을 추가하고 안전한 것으로 지정할 수 있습니다. 그렇지 않으면 제출물에 여전히 금이 갈 수 있습니다.

채점

이것은 이므로 바이트가 가장 적은 안전한 제출을 가진 사용자가이 섹션의 승자가됩니다.

리더 보드

다음은이 과제에 대한 리더 보드를 생성하는 스택 스 니펫입니다. 올바르게 표시하려면 다음과 같이 제출 형식을 지정하십시오.

# Language Name, N bytes

... other stuff ...

제출물에 금이 간다면 다음과 같이 형식을 지정하십시오.

# Language Name, N bytes, [Cracked!](link)

... other stuff ...

제출이 안전한 경우 다음과 같이 형식화하십시오.

# Language Name, N bytes, Safe!

... other stuff ...

<script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 99469;</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>


7
밀접하게 관련. (답변은 퀴즈 일 필요는 없다는 점을 제외하고는 같은 도전입니다.)
Martin Ender

1
스크램블 된 코드도 퀴인 것으로 간주됩니까? 유효한 프로그램이어야합니까? 코드 패드 에서 샘플 Python을 실행하려고 시도했지만 구문 오류가 발생합니다.
우유

@milk 아니요, 유효한 프로그램 일 필요는 없습니다.
Oliver Ni

답변:


15

C #, 288 바이트

Stag is a great shoW.        "="=""="="Agent"plastic"Was"tryin"to"Release"an"Astroid"."$Money$"st@le"tigers"and"Agent"plastic"got"mad"."$Money$"sic","man","t0tally"rad"."Sistrs"Rms"titAnic";"Civic"Ace"in"{sC@m}{hic}{vicis}..{cats}sAc}((@))((@)){{{>>{{{{{{}}}}}}}}}\\\\\\\;;;(@)((@)()),,;;

내 전략은 모든 짧은 사람들이 금이 갈 수 있고 얼마나 오래 걸리는지 고려하지 않는 것입니다 ... 또한 나는 이것이 단순한 기능이 아니라 완전한 프로그램이라는 것을 알아야합니다.


10

JavaScript, 1574 바이트, 안전!

나는 이것에 너무 많은 시간을 보냈다. 난독 화를보십시오.

(notice that an unmatch parenthesis remains throughout the entire text.

dear "sir",

|    i cannot express my loathing to you and your things. they truly are a loathsome sight. (regar'less of their quality, they function as the most appalling devices...)[1]

|    these avocads of thine possession are most unpleasent. (ce n'est pas faux.) Queer; Careful; An' in total repulsing. in this form, those are not seulement cringe... So; CAB's is quite Cruel. (Cruel indeed...)

|    intention is not great (heh, intention, ;}) run, no, run, since {tu est le ;AqC;};

{{{{============================================}}}}

[1]: see? am i not insane? You may dictate the opposite, so i dictate thus.

9 + 4 is 13. Y is this. Y + 4 is 9 + 9 minus one. N is this. f(x) is {x + x}, so f(N) is N plus N is N + N is 3.

:^) i'm cruel; not so cruel.)
                                  rrrrrrrrrr 0nnnccnnggrrrrttssBBC
{({[}(<[<))(((((){{})}[}][[]{}(]))))|} f f r 0nnnccnngrrrrrttesBBA
())(((()))))()))()()()((((()))}{{})((} f f r 0nnnccnngrrrrrttesBBY
]]}(([][]{{{}}})()({}(){}{()}{}()[])][ f f r 4nnnccnngrrrrrttesBSY
))({})(}{)({{{{(()))())))))))()))()()( f f r 4nnnccnngrrrrrtpesqSY
)()()((((((((((Z))))))))()(()((()((((( f f r 5nnnccnngrrrrrtlefoSY
(((;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''' f f r 3nnncccngrrrrxtleifSY
''''''''''''''''''',,,,,,,,[[[[[[]]]]] f f r 3nnncccngrrrrxtleifZQ
[ ] ] + + + + + + + + + + + + + + + ++ f f r 9nnncccggrrrrxtleifZQ
+ + + + too not fun...fffffffffffffuuu f f r 5nnncccggrrrrxtlli0ZQ
uuuuuuuuuuuu.. | | | |99S            ) f f r 0nnncccggrrrrxxll01QQ

여기에 원본이 있습니다!

function Y(x){return x.charCodeAt()};
function Q(x){return String.fromCharCode(x)};
N=Array.prototype;
function B(f,g,h){return function(){
  return f(g.apply(h||this,arguments));
}};
function S(f,h){return function(){
  return f.apply(h||this,N.reverse.call(arguments))}}
function id(x){return x};
function format(){
  args = N.slice.call(arguments);
  str = args.shift(); res = []+[];
  for(i = 0; i < str.length; i++){
    c = function(){return str[i]};
    if(B(Y,c) == 95){
      res += args.shift();
    } else if(S(B)(c,Y)() == 94){
      res += q = B(id,Q)(34);
      res += args.shift();
      res += q;
    } else if(Y(c()) == 39){
      i++;
      res += c() == ([][0]+[])[1] ? Q(10) : []+[];
    } else res += c();
  }
  return res;
}
console.log(format(Z="function Y(x){return x.charCodeAt()};'nfunction Q(x){return String.fromCharCode(x)};'nN=Array.prototype;'nfunction B(f,g,h){return function(){'n  return f(g.apply(h||this,arguments));'n}};'nfunction S(f,h){return function(){'n  return f.apply(h||this,N.reverse.call(arguments))}}'nfunction id(x){return x};'nfunction format(){'n  args = N.slice.call(arguments);'n  str = args.shift(); res = []+[];'n  for(i = 0; i < str.length; i++){'n    c = function(){return str[i]};'n    if(B(Y,c) == 95){'n      res += args.shift();'n    } else if(S(B)(c,Y)() == 94){'n      res += q = B(id,Q)(34);'n      res += args.shift();'n      res += q;'n    } else if(Y(c()) == 39){'n      i++;'n      res += c() == ([][0]+[])[1] ? Q(10) : []+[];'n    } else res += c();'n  }'n  return res;'n}'nconsole.log(format(Z=^,Z))",Z))


avocads나를 깨뜨린 다!
Kritixi Lithos


5

Underload , 20 바이트, 크랙 됨!

~*)(a):*(*a:S(*S*~S)

나는 무작위로보다 스크램블 될 수 있기 때문에 캐릭터의 순서를 무작위 화하여 이것을 스크램블했습니다.

프로그램의 최상위 레벨에서 개행을 볼 때 올바르게 작성된 Underload 인터프리터가 충돌합니다. 골프 경기에서 평소와 같이 프로그램 종료시 줄 바꿈이 없습니다. 프로그램을 통역사에 복사 할 때 실수로 실수를 쉽게 추가 할 수 있기 때문에이 알림을 여기에 배치하고 있습니다.


PPCG에 오신 것을 환영합니다! :)
Martin Ender

2
글쎄, 나는 다른 포럼 (Reddit, IRC 등)에서 PPCG 사용자를 추적하고 그들이 내가 원하는 것을 게시 할 때까지 소리 질러 PPCG에 대해 간접적으로 언급하고 있습니다. 직접 할 수도 있습니다 :-)

깨진. 고마워, 이것은 재미있는 도전이었다. :)
Martin Ender

5

망막 , 20 바이트, 금이 간

S`(\?)\1*

S`(\?)\1*

프로그램 (및 출력)에는 정확히 두 개의 줄 바꿈이 포함됩니다.

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

작은 힌트 :

이 경찰을 디자인하는 과정에서 나는 가장 짧은 새로운 Retina quine을 찾았습니다.이 답변이 깨지거나 안전 해지면 quine challenge에 게시 할 것입니다.


나는 거기에 드라이 런 *이 있고 \추가 라인 피드를 방지하기위한 구성 옵션 으로 추측 할 것 입니다.
mbomb007

5

CJam, 39 바이트, 안전

!""$)+023345679:AEORYZZ\_```bbceeffimmz

해결책:

")A!0z`eZOmRZ$Yei`E"_`\32fm95b67b43f+:c

난독 처리를 위해 기본 인코딩을 사용합니다. 그러나 문자가 모두 ASCII로되어 있기 때문에 누군가가 32fm95b??b??f+:c나머지를 무력하게 만들 정도로 충분할 것이라고 생각했을 것입니다.


대답하면 순열을 선택하는 방법을 몰랐습니다. 정렬은 좋은 아이디어이다
루이스 Mendo

4

Pyth, 38 바이트, 안전

골프는 아니지만 작동합니다.

````::""@@@@++++22ggKKKKKKKKNNNNZZZZ

분류되지 않은 버전 :

K"K++@KZ:`K@`NZNgK2"++@KZ:`K@`NZNgK2

1
나는 quine가 있지만 둘 @중 하나 가 빠졌 2습니다 ... 너무 가깝습니다!
Steven H.

빨리! 시간이 없어요!
FliiFe

나는 끝났다고 생각한다. 나는 그것을 알아낼 수 없습니다 ... :( 안전한 솔루션을 얻는 것을 축하합니다!
Steven H.

거기에 해결책이 있습니다! 호기심에서 당신이 찾은 quine은 무엇입니까?
FliiFe

나는했다 K"K2:K@Kg`Z`Z++NKN":K@Kg`Z`Z++NKN.
Steven H.



3

JavaScript, 147 바이트, ETHProductions에 의해

누군가가 이것을 해독하면 매우 감동받을 것입니다 ...

   """"''''((((()))))+++++++++.//99;;;;;;=========>>[[[[[]]]]]``````````````cccdddddddeeeeeeeeeeeffiiiiiiinnnnnnnoooooooorrrrrrrrsttttuuwwwwwwx{{}}

의도 된 솔루션 :

e=o=>{n=o;``[r=`constructor`][r](`return e=>{`+o+`}`)````};d=e+"";e`for(i in window)if(/ert/.exec(i))w=window[i];w('e='+d+';d=e+"";e'+d[9]+n+d[9])`

그래 @ETHproductions, 거기에 더는 없다 l위해 alert또는 console.log, 더 m를 위해 confirm또는 prompt... 그래 악마> 있어요 : D한다 I 상이 크래커에 현상금?
jrich

글쎄, 경고하는 대신 반환하는 기능이 있으며 OP 버전이 그렇게 작동한다고 확신합니다. 귀하의 솔루션에서도 쉽게 동일한 작업을 수행 할 수 있지만 합법적입니까?
ETHproductions

@ETHproductions 완전히 파멸시킬 것입니다 :( 아니오라고 말할 것입니다. 그러나 대중의 의견이 달리 명시하지 않는다면 대부분의 JS 과제를 위반한다고 생각합니다.
jrich

예, 리턴 퀸을 좋아하지 않지만 특정 솔루션을 해독하는 다른 방법이 없다고 99 % 확신합니다. 그래도 당신을 위해 유효한 균열을 얻으려고 노력할 것입니다 :)
ETHproductions

@ETHproductions 나는 그것을 가늠자로 너무 힘들게 만들었을지 모르지만 행운을 빕니다!
jrich

3

Haskell, 86 바이트, nimi에 의해 크랙 됨

putStr$"Study:ric====>>>>yummy:candy:circus:party:in:syrirrr!!!!!!$[;['=['[$]']='];]$"

이것은 유효한 하스켈 표현식으로 다음을 인쇄합니다.

Study:ric====>>>>yummy:candy:circus:party:in:syrirrr!!!!!!$[;['=['[$]']='];]$

Ric이 공부하면 맛있는 캔디 서커스 파티에 갈 수 있습니다! 즉, 그가 Syrirrr 가 어디에 있는지 알아내는 경우 입니다.



3

V , 20 바이트-안전!

"$ 033lpqxx | áäéééñññ

후행 줄 바꿈에 유의하십시오.

나는 그것들을 스크램블하는 방법을 정말로 확신하지 못했기 때문에 ASCII 값으로 문자를 정렬했습니다.

대부분의 V 답변과는 달리,이 하나 포함 제로 인쇄 할 수없는 문자를. 다음은 16 진수 덤프입니다.

0000000: 2224 3033 336c 7071 7878 7ce1 e4e9 e9e9  "$033lpqxx|.....
0000010: f1f1 f10a                                ....

스크램블되지 않은 코드 :

éññ3äl0éé $ áx3 | "qpñx

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

이 링크에 관한 것이 아닙니다. 이전 버전의 V에서는 줄 바꿈이 항상 자동으로 인쇄되었으므로이 버전에 줄 바꿈이 있습니다. 내가 작성한 당시의 통역사는 유효한 quine 이었지만 이제는 개행을 제거하여 유효하게 만들 수 있습니다.

설명:

éñ                      " Insert a 'ñ' character
  ñ              ñ      " Put all of the following into register 'q' and run it when it's done recording
   3äl                  " Make 3 copies of the character under the cursor
      0                 " Move to the first column
       éé               " Insert an 'é' character
         $              " Move to the last column
          áx            " Append an 'x'
            3|          " Move to the third column
              "qp       " Paste register 'q' (all of the commands we just ran)
                  x     " Delete a character

3

하스켈, 99 바이트, 안전

"super.quine?"=>#$$$%%%%%&&(())))**++++,,,,/;<<==>>STaabbdeffggghhhjlmmnoppqqrrsssttttuuuvvwwwwxxxx

또 다른 Haskell quine, 이번에는 멋진 홀수 99 바이트가 있습니다.

g % w = (g <$> w) ++ w ++ pure (g.last $ w); main = putStr $ pred % "h & x>) h = %? x * ,, x ,, qvsf) h / mbtu % x * qvuTus % qsfe & # "
Ideone에서 사용해보십시오. "g <$> w"의 공백은 제거해야합니다. 그렇지 않으면 <, $ 및>가 사라 지므로 (html 태그로 해석 될 수 있음) 횡설수설 문자열은 각 문자가 후속 문자에 매핑되는 프로그램의 문자열이며 final "을 포함합니다.이 문자열은에 매핑되므로 이스케이프하지 않고 문자열에 포함 할 수 있습니다 #. 도우미 함수 %pred(yielding code")을 사용하여 문자열을 가져 와서 각 문자를 선행 문자에 매핑 한 다음 원래 문자열 (yielding code"gibberish_code)과 디코딩 된 문자열의 마지막 문자 (yielding ) 를 추가합니다 code"gibberish_code". 문자 c를 문자열 로 변환하려면 일반적으로 [c]Haskell의 문자열이 단순히 문자 목록이므로 목록에 넣으면 충분합니다.[is \는 후속 인코딩 인코딩 문자열에서 이스케이프해야하므로 대신 pure임의의 유형을 Monad로 들어 올리는 데 사용됩니다 (사용하는 Monad는 컨텍스트에서 유추됩니다).


거의 다 왔어. 내가 추가를 space하고 !있지만, 제거하는 방법을 모른다. 좋은 생각입니다, +1하십시오.
nimi

@nimi Tahnks, 귀하의 접근 방식이 어떻게 다른지 궁금합니다.
Laikoni

나는했다 g%w=g w++w++pure(last.g$w);main=putStr$(pred<$>)%"...#". 따라서 기본적으로 <$>함수로 이동하지 못했습니다 %. 이제 귀하의 솔루션을 보았으므로 분명합니다.
nimi


1

자바 스크립트 ES6, 49 바이트 (크랙)

{{$((((((('`fuck rent =+> turn off fin`')))))))}}

스크램블 솔루션에서 일관된 단어를 만드는 데 더 집중한다면 나쁘지 않습니까?

어쨌든, 이것은 나의 첫번째 경찰과 강도 도전입니다.

업데이트 : 깨진 코드에 대한 주석을 참조하십시오.



1

FurryScript, 199 바이트, 안전!

UT  TTEDU DT   T U T D   ES DGT GEL L   GL
-<<<<<<+++++++[[[[#BESTQUINEEVER!#BESTQUINEEVER!#BESTQUINEEVER!#BESTQUINEEVER!#BESTQUINEEVER!#]]]]+++++++>>>>>>-

X   XG WPW   SS  X  PW S US WWTLWP  XS  PE

깨지기 매우 쉬워야합니다.

스크램블되지 않은 코드

BESTQUINE[ DUP LT +SW +GT +< BESTQUINE#> ]
EVER![ DUP EX+ SW EX- LT +SW +GT +< EVER!#> ]
<BESTQUINE[ DUP LT +SW +GT +< BESTQUINE#> ]> BESTQUINE#
<EVER![ DUP EX+ SW EX- LT +SW +GT +< EVER!#> ]> EVER!#

규칙적인 퀘인이지만 두 개의 서브 루틴과 문자열을 교환하는 코드가 더 있습니다.


1

Vim, 17 바이트

<CR>""&(())::::\npps

<CR>(입력이다 ^M또는 ^J입력과의) 부가 출력의 개행. 파일 개행의 암시 적 끝 이 아닙니다 (참조 :help 'eol'). 17 바이트는 빈 버퍼에 추가됩니다. (텍스트 편집기의 줄 바꿈은 이상합니다. 명확하지 않은 경우 알려주십시오.)



0

Befunge-93, 15 바이트, 크랙 됨!

:::@#%+-_,<910g

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


깨진. quine만이 적절한 quine 으로 g간주 되는지 여부는 다소 의문의 여지가 있습니다.
Martin Ender

나는 이것이 Befunge에 대한 표준 quining 기법이라는 것을 알고 있지만,이 커뮤니티의 규칙에 관한 한, 링크 된 메타 포스트는 quine으로 간주되는 것에 대한 승인 된 지침입니다.
Martin Ender

0

파이썬 2, 105 바이트, 깨짐!

    ######%%%%''(((((((())))))))****--0011::::;;==@@@@@@@@@@[[[[]]]]aaaaaaggggggiiiiiiiinnpprrrrrrrrrtt~~

다른 하나는 금이 갔기 때문에 더 어렵다.

print '해결책을 찾으려면 일하십시오!'



@ Sp3000 아 그래, 그래도 나는 원래 그보다 더 많은 일을하고 있었다. 어쨌든, 당신은 게으른 길을
했어요


0

QB64 , 89 바이트

(_+cad:effecs:fact), =+cred:scarf:attaccd?, =+eff4c3d:cars:craccd?, (_+csc:f4c3d:fact), "

몇 가지 중요한 점 :

  • 이 코드는 QBasic에서 작동하지 않습니다. QB64 관련 기능을 사용합니다.
  • 구문 확장이 꺼져 있습니다
  • 달러 기호가없고 따옴표 만
  • "시"는 스트레치이지만 운율은


0

OIL , 77 바이트, 안전

0
0
1
1
1
1
1
1
1
1
1
2
2
4
4
4
6
8
10
11
11
11
12
17
18
18
18
18
22
26
26
32

행운을 빌어 요.

해결책, "commented"(실행하기 전에 주석을 제거하십시오. 그렇지 않으면 작동하지 않습니다) :

0 # nop twice
0
1 # copy element from cell 1 to 1 (so do nothing again)
1
1
4 # print what's in cell 1 (a zero)
1
11 # print a newline
4 # and the same thing again; printing zero and a newline
1
11
1 # copy what's in cell 2 (a 1) into cell 2
2
2
1 # copy what's in cell 12 (two lines before; a 2) into cell 18
12
18
10 # check if the value in the cell of the following line (starting with 2; we'll jump back here)
18 # (this is cell 18)
1 # is equal-ish to the one in cell 1 (a zero)
32 # if yes, jump somewhere
22 # otherwise jump one cell ahead
1 # copy what's currently in cell 18 (first a 2) into cell 26
18
26
4 # print cell 26
26
8 # increment cell 18
18
11 # print a newline
6 # and jump back to cell 17
17

요약하면, 먼저 두 개의 0을 인쇄 한 다음 세 번째 줄로 시작하는 모든 줄을 0으로 비교하고 0이 아닌 경우 인쇄하고 종료합니다 (OIL은 비어 있거나 존재하지 않는 곳에서 0을 읽으므로) 세포). 모든 가변 줄에는 인쇄 할 때의 값이 들어 있습니다 (게으 르기 때문에 먼저 셀에 0이 아닌 임의의 값이있는 니어 퀸을 만들고 결과를 사용합니다). .


-2

젤리 , 3 바이트, 깨짐!

Ṙ”Ṙ

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

해결책은 다음과 같습니다.

무엇을 원하십니까? 그것을 찾아라!



@MartinEnder 물론 !! 그래도 나는 이것을 1 분 동안 지속하지 않았다. 그리고 Dennis가 먼저해야한다고 생각했지만 신경 쓰지 않았습니다.
Outgolfer Erik

downvoters 사람 : 이것은 단지 했다 게시 할 수 있습니다.
Outgolfer Erik
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.