미스터리 스트링 프린터 (Cops)


60

강도 스레드는 여기에서 찾을 수 있습니다 . 미스터리 문자열 프린터 (고무)

당신의 도전

  • 문자열을 STDOUT에 인쇄하는 프로그램, 함수 또는 REPL 스크립트를 작성하십시오.
  • 강도는 동일한 문자열을 인쇄하는 프로그램을 작성하려고 시도합니다.
  • 그들이 7 일 이내에 프로그램을 성공적으로 만들 수 있다면 제출은 금이 간 것입니다.
  • 7 일 이내에 같은 문자열을 인쇄하는 프로그램을 아무도 만들 수 없다면 제출해도 안전합니다. 당신은 당신의 프로그램을 공개하거나 미래의 강도들에게 도전하도록 남겨 둘 수 있습니다. 그러나 공개하지 않으면 제출에서 포인트를 얻을 수 없습니다 (이를 선택하면 응답 헤더에 "안전"을 넣지 마십시오).

제한 사항

  • 프로그램은 총 128 바이트 이하 여야합니다 (나중에 자세히 설명).
  • 프로그램이 프로그램 이름 또는 외부 파일의 이름 / 내용에 의존하는 경우, 그렇게한다고 말하고이를 총 바이트 수에 포함시켜야합니다.
  • 인쇄 된 문자열은 2048 바이트 이하 여야합니다.
  • 인쇄 된 문자열은 인쇄 가능한 ASCII 문자로만 구성되어야합니다 (새 줄 포함 가능).
  • 프로그램은 실행될 때마다 동일한 출력을 생성해야합니다.
  • 내장 암호화 기본 요소 (rng, 암호화, 암호 해독 및 해시 포함)는 허용되지 않습니다.
  • 프로그램은 입력하지 않아야합니다.
  • 표준 허점이 없습니다.

채점

  • 7 일 전에 제출물에 금이 가면 제출물은 0 점을 얻습니다.
  • 128 자 미만의 안전한 제출은 1 점을 얻습니다.
  • ≤64자를 안전하게 제출하면 2 점을 얻습니다. 32 바이트 이하이면 4 포인트를 얻습니다.
  • 각 안전 제출물은 길이에 관계없이 추가 3 포인트 보너스를받습니다.
  • 첫 번째 균열 이후에 금이 갈 때마다 작은 (1/2 포인트) 위약금이 부과됩니다.
  • 강도 솔루션은 동일한 프로그램 길이 범위에 있어야합니다.
  • 각 사람은 언어 당 바이트 범위 당 최대 1 개의 프로그램을 제출할 수 있습니다 (다른 버전과 동일한 언어의 임의 대체는 별도의 언어로 계산되지 않음). 예 : 32 바이트 및 64 바이트 pyth 프로그램을 게시 할 수 있지만 Java 7 및 Java 8에서 128 바이트 프로그램을 게시 할 수는 없습니다.
  • 총점이 가장 높은 사람이 이깁니다.

제출물

각 제출물에는 다음 정보가 있어야합니다.

  • 언어의 이름입니다. 모든 새로운 강도의 솔루션은 동일한 언어 여야합니다.
  • 프로그램 크기의 범위 (프로그램 크기보다 2의 가장 가까운 거듭 제곱입니다 (예 : 프로그램이 25 바이트 인 경우 "≤32")).
  • 인쇄 할 실제 문자열입니다.
  • 제출물이 안전한 경우 "안전한"프로그램 길이 (가장 2의 거듭 제곱)를 헤더에 넣으십시오. 헤더에 여러 개의 숫자가 있으면 2의 거듭 제곱을 마지막에 넣으십시오.

이 스택 스 니펫은 리더 보드를 생성하고 열려있는 모든 제출을 나열합니다. 스 니펫에 문제가 있으면 의견을 남겨주세요.

항목에 다음 형식을 사용하십시오.

Language, (any text with the program size as the last number)
=

또는

Language
=
Length <= 16

스 니펫은 쉼표를 감지하지 못하는 경우 머리글의 첫 번째 단어 만 언어로 사용합니다.

안전한 제출을 위해 헤더를 안전하게 보관하십시오. 스 니펫은 시간이 만료되면 자동으로 프로그램을 "안전한"열에 넣습니다. 따라서 강도는 프로그램에 안전하다는 것을 알려주는 것입니다.

금이 간 제출의 경우 헤더에 금이갑니다.

또한 의견에 "금이"라고 표시되고 링크가 있으면 프로그램에서 인식 할 수 있어야합니다. 그러나 이것이 보장되지는 않습니다.

동점 순서 : 포인트-> 안전 제출 수-> 크랙 제출 수가 가장 적습니다.

이 스 니펫은 최소한 금이 오기 전에 공개 제출을 기준으로 정렬하지만 공개 종료는 컨테스트가 끝날 때 계산되지 않습니다.

이 도전은 이제 종결되었습니다.

가장 많은 점수를 얻은 승자 : Dennis

가장 안전한 제출 : DLosc

(안전한 제출 횟수는 점수를 계산할 때 프로그램의 크기가 고려되므로 포인트 금액으로 변환되지 않습니다).


5
우리는 출력이 더 나은 프로그램의 크기보다 더 오래해야 같은 사소한 솔루션을 줄일 수 있다는 경찰 생각 나게한다 codegolf.stackexchange.com/a/60395codegolf.stackexchange.com/a/60359
kennytm

2
@bmarks 언어를 실행하는 방법이 있어야하며 언어는 ASCII 문자 문자열을 표시 할 수 있어야합니다. 축하합니다, HQ9 +를 사용하고 싶다면 금이 간 제출을 받았습니다.
Daniel M.

3
@bmarks 선호 하지는 않지만 중단하지는 않겠습니다.
Daniel M.

15
모든 숫자 전용 출력은 매우 지루합니다.
mbomb007

4
다음에 샌드 박스 사용을 고려하십시오 . 바람직하게는, 도전의 규칙은 변경하지 마십시오 모든 이 게시 된 후. 규칙이 몇 번이나 바뀌 었는지 추적하지 못했습니다.
Dennis

답변:


20

Pyth, 안전, 범위 ≤ 8

['ashva', 'cxedo', 'ecckc', 'hhzsq', 'jmwze', 'lrths', 'nwrog', 'pbowu', 'rgldi', 'uljlw', 'wpgsk', 'yuday'

코드:

%^T6`^G5

설명:

이것이 어떻게 작동하는지 명확히하기 위해 : 가능한 5 개의 소문자 문자열을 모두 생성했습니다 ( ^G5). 그런 다음이 목록의 문자열 표현을 생성했습니다 : ( `^G5). 마지막으로 그 목록의 1,000,000 번째 문자 ( %^T6) 를 가져 왔습니다 . 결과는 문자열 목록처럼 보이지만 의심스럽게 끝 괄호가 없습니다.


가까운 곳이 ]없습니까?
Maltysen

1
@Maltysen Nope.
isaacg

4
이 십오 일의 목록 스크램블 될 수있다 생각하지만 난 다른 사람의를 식별 할 수 없습니다, 스크램블 "엑스 코드"로 두 번째 항목을 보았다 : 오
알버트 렌쇼

1
힘든 것! 문자열에서 패턴을 찾았지만 <= 8 바이트로 생성하는 방법을 모릅니다.
Fabian Schmengler

16

VBA, [안전]

범위 <= 128 바이트

출력 위치에 대한 힌트

Excel 2007에서 실행되어 Debug.print로 출력되었습니다. VBA는 행운이 있기 때문에 128 바이트 미만의 모든 것을 실행할 수 있습니다.

출력 255 바이트

 This array is fixed or temporarily locked THIS ARRAY IS FIXED OR TEMPORARILY LOCKED this array is fixed or temporarily locked This Array Is Fixed Or Temporarily Locked I n v a l i d   p r o c e d u r e   c a l l   o r   a r g u m e n t  ?????????????????

해결책

글쎄, 나는 누군가 가이 하나를 부수려고 재미 있었으면 좋겠다. 나는 이것이 내가 한 최악의 오류 처리 중 하나라고 말할 수 있으며이 코드가 얼마나 나쁜지를 느끼게됩니다.

암호

    Sub e()
    On Error Resume Next
    Err.Raise 10
    For i = 0 To 128
    b = b & " " & StrConv(Err.Description, i)
    Next
    Debug.Print b
    End Sub'

설명

먼저 코드는 VBA의 주요 죄 중 하나로 시작합니다. On Error Resume next.
우리가 그 끔찍한 행동을 저지른 후에 우리는 그냥 던져서 실수합니다. 이것은 This array is fixed or temporarily locked곧 출력에서 ​​보게 될 오류입니다.

다음은 루프입니다. 우리는 128 번 반복하여 오류 설명을 변환하려고하지만에 대한 유일한 유효한 입력입니다 i are 1,2,3,64,128. 이 때문에 처음 4 개의 루프는 다양한 형식의 오류를 인쇄합니다. 그런 다음 i = 4코드에서 새 오류 Invalid call가 발생하면 매번 함수 오류가 발생 하기 b때문에 루프가 발생하고 아무것도 할당되지 않습니다 strconv.

이것은 정상적인 프로그램이 멈추어야 할 곳이지만 On Error Resume Next모든 오류가 무시되고 잘못된 오류 처리로 코드가 계속 흐려 지기 때문에

우리가 타격 지금i=32새 오류를 b유니 코드 로 변환 한 다음 추가 i = 128하여 ?????????????????문자열을 추가 하는 결과 인 FROM 유니 코드를 변환 할 때까지 계속 반복 b

합니다.


14

수학, 안전, 범위 ≤ 64

산출:

CGTAGGCCCATTTTGTGTGAATTGCGGTGCAGCGAGCGATATGTTGTCTGGGCACGGACGCAGAGTTAGGGTAGCTGGTG

출처:

Print@@Characters["GATC"][[1+First@RealDigits[Pi,4,80]]]

6
지금은해야합니다 GenomeLookup모든 것을 ...
LegionMammal978

3
정말! 무엇을 포기 했습니까?

2
어쩌면 나는 편지를 바꾸었을 것입니다!

1
Lol, 반복 문자가 많고 64 바이트로 작업하면 쉽게 해당 문자열을 쉽게 인쇄하는 함수를 만들 수 있습니다. xD
Albert Renshaw

4
소스를 추가했습니다. 이것은 물론이다 NOT 게놈에 관한 것도 있지만, 사람들이 이중 나선의 생각하게하는 "GATC"을 사용하여 인코딩 기본 4 파이 오히려 80 자리.

12

ngn APL (안전)

0.675640430319848J0.8376870144941628

범위 ≤ 8

해결책

*3○⍟⍣=42

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

작동 원리

  • ⍟⍣=42고정 소수점에 도달 할 때까지 ( ) 까지 자연 로그 ( )를 42에 반복적으로 적용 ⍣=하여 0.31813150520476413J1.3372357014306895 .

    초기 값은 1 또는 0 이 아닌 한 실제로 중요하지 않습니다 .

  • 3○오른쪽 인수에 접선을 적용하여 0.07343765001657206J0.8920713530605129를 생성 합니다 .

  • * 자연 지수 함수를 올바른 인수에 적용하여 원하는 출력을 생성합니다.


절대 값은 1이 아닙니다. 흥미 롭습니다.
lirtosiast


8

> <> (안전)

온라인 및 공식 통역사에서 테스트했습니다.

범위 : <= 16

끈: 4621430504113348052246441337820019217490490

이건 꽤 1337입니다.

설명:

소스 코드는 다음과 같습니다 (15 바이트).

f1-:0(?;::0g*n!

f스택에 15 (우리 카운터) !를 밀어 넣습니다 (두 개 이상의 카운터를 누르지 않도록 끝에 의해 건너 뜁니다 )

1- 카운터에서 1을 빼다

:0(?; 찌푸린 얼굴은 카운터가 0보다 작 으면 테스트하고 나머지는 카운터가 있으면 프로그램을 종료합니다.

:: 카운터를 두 번 복제

0g카운터가있는 (c,0)소스 코드 의 지점 에서 문자를 가져옵니다.c

* 카운터의 두 번째 복제본에 이전에 잡은 문자의 ASCII 표현을 곱합니다.

n 결과를 인쇄합니다.

따라서 분할하면 출력은 [462, 1430, 504, 1133, 480, 522, 464, 413, 378, 200, 192, 174, 90, 49, 0]입니다. 이는 코드 14에 0을 곱한 코드의 ASCII 해석에 해당합니다 (예 :) [!*14, n*13, ... f*0].

아마도 크래킹에 대한 가장 어려운 부분은 숫자를 올바르게 나누는 방법을 알아내는 것이지만 올바른 숫자를 얻는다면 효과가있는 것을 얻을 때까지 시도하는 것입니다.


8

눈사람 1.0.2

범위 ≤32

110110111011011001111100111111111101111110101000101000100001100001100011100011101110110111011011111011111011101011101111101111110111110111111011110101111010111100101100101001111001111111011111011010111010111000000100000011111001111100

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

"mO~(!#]/.}{k2'=+@|":2nBspsP;aE

이건 정말 이상한 언어입니다 ... 크랙하기 전에 알아 내야합니다 ...
GamrCorps

3
거의 다 ...하지만 ... 세그먼트 폴트 (11)가 계속
GamrCorps

7

Matlab, ≤16. Wauzl에 의해 금이

범위 ≤16 .

이것은 옥타브 에서도 작동합니다 .

인쇄 된 문자열은 다음과 같습니다.

ans =

     0     0     0     0     0     0     0     0     0
     0     0     0     0     9     4     0     0     0
     0     0     0     0    32    18     0     0     0
     0     0     0     9     1     0     3     0     0
     0     0     7     0     0     2    10     0     0
     0     0     3     0     2     2     3     0     0
     0     0     0    19    63    22     1     0     0
     0     0     0     4    13     4     0     0     0
     0     0     0     0     0     0     0     0     0

3
잘 했어, 나는 이와 같은 것을 생각해 내려고 노력했지만, 이건 정말 멋지다. 이것이 어떻게 작동해야하는지 전혀 모른다. =)
flawr


7

펄 (안전)

84884488488444224424428844884884884488488444224424428844884884884488488444224424424422442442884488488488448848844422442442884488488488448848844422442442442244244244224424422211221221221122122144224424424422442442221122122144224424424422442442221122122144224424424422442442221122122122112212214422442442442244244222112212214422442442442244244222112212218844884884884488488444224424424422442442884488488488448848844422442442884488488488448848844422442442884488488488448848844422442442442244244288448848848844884884442244244288448848848844884884442244244244224424424422442442221122122122112212214422442442442244244222112212214422442442442244244222112212218844884884884488488444224424424422442442884488488488448848844422442442884488488488448848844422442442884488488488448848844422442442442244244288448848848844884884442244244288448848848844884884442244244244224424424422442442221122122122112212214422442442442244244222112212214422442442442244244222112212212212211222442442244244244224412212211222442442244244244224412212211221221221122244244224424424422442442442244488488448848848844882442442244488488448848848844882442442244244244224448848844884884884488244244224448848844884884884488244244224448848844884884884488244244224424424422444884884488488488448812212211222442442244244244224412212211222442442244244244224412212211221221221122244244224424424422442442442244488488448848848844882442442244488488448848848844882442442244244244224448848844884884884488244244224448848844884884884488244244224448848844884884884488244244224424424422444884884488488488448812212211222442442244244244224412212211222442442244244244224412212211221221221122244244224424424422441221221122244244224424424422441221221122244244224424424422441221221122122122112224424422442442442244244244224448848844884884884488244244224448848844884884884488244244224424424422444884884488488488448824424422444884884488488488448824424422444884884488488488448824424422442442442244488488448848848844882442442244488488448848848844882442442244488488448

범위 ≤ 32

해결책

print 2**y/124589//for-951..1048

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

작동 원리

  • for-951..1048 이 범위의 각 정수에 대해 이전 명령을 실행하여 암시 적 변수에 저장합니다.

  • y/124589// 음역 변수에서 지정된 숫자를 제거하여 음역을 수행합니다.

    y/// 제거 횟수, 즉 암시 적 변수에서 해당 숫자의 발생 횟수를 반환합니다.

  • print 2**지문 2 소거의 전원 ( 1 , 2 , 4 또는 8 ).


7

파이썬, <= 16 ( cracked by kennytm )

[[[22111101102001]]]

이것은 REPL (Python 쉘에서 명령 실행)을 통해 생성되었습니다.

이것을 편집하는 동안, 미래의 스포일러가없는 강도에 대한 주석도 요약 할 것입니다 : 이것은 모든 파이썬에서 작동하지는 않습니다. Python 2.7의 빌드에서 작동 sys.maxint = 9223372036854775807합니다.


2
이것은 매우 어렵다.
J Atkin

1
파이썬 2와 파이썬 3 모두에서 작동합니까?
DLosc

1
엡. 파이썬 2 만, 죄송합니다.
histocrat

1
파이썬 3 에서는 범주 적으로 작동하지 않습니까?
DLosc

1
힌트입니다. 그러나 저는 파이썬 3에서는 작동하지 않는다고 약속합니다.
histocrat


6

TI-BASIC, ≤4 바이트, Reto Koradi에서 크랙

균열하는데 5 일 23 시간이 걸렸습니다. 너무 가까이 ...

출력 (10 바이트) :

.495382547

프로그램:

³√(tanh(7°

누군가가 이것을 추측하는 것은 기본적으로 불가능하기 때문에,이 프로그램을 디자인하는 나의 목표는 무차별적인 힘을 유일한 접근법으로 만드는 것이 었습니다.

이를 위해 출력 또는 이러한 역함수 중 하나가 적용된 출력 이 ISC에 표시되는 것을 방지했습니다 . ISC에는 쌍곡 탄젠트가 없으며 비슷한 도구가 없을 것이라고 생각했습니다 tanh(7°.

무차별 대항에 대한 보안을 강화하기 위해 약간 모호한 기능으로 정도를 라디안으로 변환했지만 충분하지 않았습니다.


10
@Conor O'Brien 10 진수 만 쓰려면 10 바이트 만 있으면됩니다!
Arcturus

1
다음 은 모든 TI-84 + BASIC 명령 목록과 철저한 설명서입니다.
lirtosiast

2
토마스 (그리고 대부분의 사람들 sin(은 TI-BASIC에서 1 바이트 라고 생각 합니다.) 따라서 sin(sin(sin(e4 바이트 만 될 것입니다.
Albert Renshaw

1
사실, 우리가 아는 모든 것에 대해 그는 사용할 수 있습니다 fPart(.
LegionMammal978

1
@AlbertRenshaw 예, 나는 그것을 받아 들였다. Thomas가 링크 한 문서에는 각 운영자에 대한 "토큰 크기"가 나열되어 있습니다. 나는 이것이 우리가 세는 것이라고 생각하며 그가 사용하는 연산자는 tibasicdev.wikidot.com/one-byte-tokens 목록에서 나올 것 입니다.
Reto Koradi

6

CJam, ≤ 8 [안전]

379005901358552706072646818049622056

나는 긴 숫자를 좋아하지 않으므로 짧은 숫자가 있습니다. 오프라인과 온라인을 자유롭게 피들 링하십시오 .

숫자로만 작성된 제출물은 지루하기 때문에 천천히 보상 할 몇 가지 힌트를 드리겠습니다.

힌트 1 : 프로그램은 단일 수의 스택으로 끝나며 A-K변수는 사용 되지 않습니다 .
힌트 2 : 숫자는 프로세스를 되돌릴 경우 (즉, 정보가 손실되지 않은 경우) 완전히 검색 할 수있는 정보를 인코딩합니다.
힌트 3 : 힌트 2의 "정보"는 첫 네 문자 뒤에 생성되는 단일 문자열입니다.


해결책

이 프로그램은

0W#sWcib

0W#는 오류 0^-1를 발생시키는 대신 제공합니다 Infinity. s그런 다음 이것을 문자열로 캐스트합니다 ( 대신 `제공 1d0/합니다).

나머지 절반의 경우 Wc-1을 char로 변환하면 char의 줄 바꿈으로 인해 코드 포인트 65535가됩니다 ( 이 팁 참조 ). i그런 다음 char을 int, 즉 65535로 다시 변환합니다.

마지막으로 b문자열 Infinity을 밑수 65535 로 변환 하여 위의 숫자를 지정하십시오.


6

자바 스크립트 (콘솔), <= 32 ( insertusernamehere에 의해 크랙 됨 )

"a,a,0,a,b,a,a,b,a,a,4,a,b,a,a,a,a,6,a,b,a,a"

Chrome 및 Firefox 웹 콘솔에서 테스트되었습니다. 43 자 문자열입니다.

내 의도 된 솔루션은 연결된 솔루션보다 조금 더 정교했습니다 (ES6를 저주하십시오!).

'a, b, a, a'.replace (/ (a) / g, 배열)

설명:

당신이 호출 할 때 replace와 정규 표현식과 /g일치하는 문자열, 일치하는 문자열의 모든 캡처 그룹, 일치하는 문자열에있는 인덱스 : 플래그와 함수, 이러한 인수를 사용하여 함수를 호출의 결과 정규식에 일치하는 모든 것을 대체 전체 문자열과 전체 문자열. 이 경우 "a", "a", 0 또는 4 또는 6, "a, b, a, a"가됩니다. 이러한 인수는 모두 전달 된 모든 배열을 생성하는 Array 생성자에 전달됩니다. 그런 다음 replace이를 "a, a, 0, a, b, a, a"와 같은 문자열로 변환하고 "a"를 바꿉니다. 그것으로 문자.


37 바이트로 줄였습니다. 그것은 16 진수처럼 보이므로 그것이 도움이되기를 바랍니다.
mbomb007


1
다시 투표 할 수는 없지만 꽤 좋은 프로그램입니다.
insertusername 여기

5

Python, <= 32 ( Egor Skriptunoff에 의해 크랙 됨)

줄 바꿈을 포함하여 출력은 1832 바이트입니다.

163
485
559
1649
2707
8117
8415
24929
41891
124133
142639
423793
694675
2075317
2162655
6357089
10682531
31785445
36635183
108070513
177408659
531963829
551493855
1633771873
2745410467
8135173349
9347869999
27774121841
45526653331
136007297717
141733920735
416611827809
700079669411
2083059139045
2400886719023
7082401072753
11626476472979
34862249549749
36142149804255
107069239746913
179920475038627
533147175478501
612629840276783
1820177075697521
2983606407043475
8913418645908149
9288532499693535
27303489359118433
45881121294188707
136517446795592165
157346912904610351
464159319105013361
761964388609624723
2284767248741900213
2368648071721459935
7016996765293437281
11791448172606497699
34940303480791033061
40148795925132553519
119288945009988433777
195535487181321247123
584146895667469134517
608742554432415203295
1789334175149826506849
3006819284014656913571
8946670875749132534245
10311729937203639353903
30418680977547050616433
49935336207531756227219
149732221646300430475189
155229351380265876857055
459858883013505412260193
772752555991766826787747
2289849682101787770873061
2631225127929856733097263
7817601011229592008423281
12814491939404182769539475
38282841570818685533137589
39893943304728330352263135
117267593836794179779362913
197057915416468570144702627
586337969183970898896814565
675799844894514912336740911
1993549095225501056249169521
3272612129033008707863251603
9813000610033591312052461493
10173266001408484771580813535
30137771616056104203296268641
50643884262032422527188575139
150067460764265635881358255333
172437765505860562200296238383
512342117472953771456036566897
839818522529453467650609486227
2508891813142320379359897758389
2614529362361980586296269078495
7685131765672974922140201517153
12914190492831906312462400487587
38425658828364874610701007585765
44288542855785494654395594310191

나는 4의 패턴을 본다.
J Atkin


@EgorSkriptunoff Yep-- 다른 루핑 구조를 사용했지만 그렇지 않으면 같은 논리입니다.
DLosc

@DLosc-다른 루프로 더 짧게 만들 수 있습니까?
Egor Skriptunoff

@EgorSkriptunoff 저는 Python golfing 기법을 사용했습니다. 다른 답변에서 비슷한 작업을 수행 할 수 있기 때문에 코드를 게시하지는 않지만 Python tips page 에서 개념을 찾을 수 있습니다 .
DLosc

5

CJam ( 데니스에 의해 금이 갔다 )

길이 <= 4

1737589973457545958193355601

나는 이것이 생존 가능성이 높지 않지만 어쨌든 4 바이트 솔루션을 시도하고 싶었습니다.

내 코드는 Dennis가 리버스 엔지니어링 한 것입니다.

H     Push 17
J     Push 19.
K     Push 20.
#     Power.

그런 다음 CJam은 모든 스택 컨텐츠를 연결하여 인쇄합니다. 따라서 출력 17은와 연결되었습니다 19^20.



@Dennis Ok, 공식적으로 금이 간 것으로 표시되었습니다. 나는 그것이 실제로 참을 것으로 기대하지는 않았지만 어쨌든 관심이 있습니다. 아니면 내가 한 일을 잘 추측 했습니까?
Reto Koradi

1
출력이 너무 커서 계승 또는 거듭 제곱 일 수 없으며이 큰 계승은 후행 0을 갖습니다. 나는로 시작 KK#해서 몇 가지 힘을 더 시도했고 마침내 발견했다 JK#.
Dennis

5

루아, ≤ 4 ( feersum에 의해)

산출:

9.5367431640625e-07

"1 / M"상수를 나타내는 Lua REPL에 대한 문자열을 찾아야합니다.
간단하지만 그리 사소한 것은 아닙니다.


@ LegionMammal978-힌트 : Lua 5.3 REPL =에서는 표현식 전에 생략 할 수 있습니다 .
Egor Skriptunoff

내가 무엇을 알고있다, 그러나 응답이 없습니다 것입니다 여기에 ...
LegionMammal978

@ LegionMammal978-예, 귀하가 제공 한 링크가 올바른 장소입니다. 필요한 모든 정보가 이미 있습니다. 그냥 해결해
Egor Skriptunoff


흥미로운 비 솔루션 :0x2p-21
daurnimator 8

5

, <= 16 (안전)

이것이 나의 최종 Pip 제출이다. 나는 약속한다. :)

0123456789
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0123456789

아무도 이것을 16 바이트로 줄이면 놀랄 것입니다. (원한다면 도전으로 삼으십시오!)


대답:

Px:J,tLtP09JsX8x

이 코드는 사전 정의 된 변수 t= 10 및 s= 공백을 사용합니다.

    ,t            Range(10)
   J              Join into string: "0123456789"
Px:               Assign to x and print
      Lt          Loop 10 times:
         09         This is a numeric literal, but it can act like a string "09" because
                    strings and numbers are the same data type in Pip
            sX8     8 spaces
           J        Join left arg on right arg: "0        9"
        P           Print
               x  Last expression in a program is autoprinted: "0123456789"

이것은 꽤 멋지다.
J Atkin

흠 ... 각 숫자는 0 색인 된 열 번호입니다. :-/
ev3commander 2016 년

@JAtkin 나도 그렇게 생각합니다. ^ _ ^ 설명이 추가되었습니다.
DLosc

아주 좋은, +1;)
J Atkin

4

루비, kennyTM에 의해 금이

범위 : ≤64

#<MatchData "@@" 1:"@" 2:"@">
"#<ArgumentError: unknown command \"\\x00\">\nu#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\nk#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\no#<ArgumentError: unknown command \"\\x00\">\nw#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\n #<ArgumentError: unknown command \"\\x00\">\nc#<ArgumentError: unknown command \"\\x00\">\no#<ArgumentError: unknown command \"\\x00\">\nm#<ArgumentError: unknown command \"\\x00\">\nm#<ArgumentError: unknown command \"\\x00\">\na#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\nd#<ArgumentError: unknown command \"\\x00\">\n #<ArgumentError: unknown command \"\\x00\">\n\"#<ArgumentError: unknown command \"\\x00\">\n\\#<ArgumentError: unknown command \"\\x00\">\nx#<ArgumentError: unknown command \"\\x00\">\n0#<ArgumentError: unknown command \"\\x00\">\n0#<ArgumentError: unknown command \"\\x00\">\n\"#<ArgumentError: unknown command \"\\x00\">\n@#<ArgumentError: unknown command \"\\x00\">\n@#<ArgumentError: unknown command \"\\x00\">\n"

(그렇습니다. 모든 출력은 STDOUT입니다.)

의도 된 솔루션 :

test'@@'=~/(.)(.)/ rescue p"#{$!}#{p$~}".gsub(//,$!.inspect+$/)


@kennytm 와우, 감동합니다. 당신은 심지어 내 원래 코드보다 한 문자 더 짧게 만들었습니다!
Doorknob

4

TI-BASIC ( 크랙토마스 콰 )

TI-89 변형
범위 : ≤8
출력 길이 : 460

1257286521829809852522432602192237043962420111587517182185282167859393833998435970616540717415898427784984473447990617367563433948484506876830127174437083005141539040356040105854054119132085436114190914221684704295353373344661986220406465038338295680627940567692710933178603763184382721719223039895582218462276317539764129360057392146874652124017927952151332902204578729865820715723543552685154087469056000000000000000000000000000000000000000000000000000000000

나는 당신이 이것에 RIES를 사용할 수 있다고 생각하지 않지만 어쨌든 7 일 동안 살아남을 것이라고 생각합니다. 오 잘

암호:

236!


"REIS"란 무엇입니까?
mbomb007




4

Thue -<= 64 바이트, histocrat에 의해 크랙 됨.

555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

2016 년 5 초입니다. 그건 그렇고.



4

CJam, ≤8 (안전)

\"3.341594\43181\

원본 코드 :

P`_`_`er

즉,에서 시작 3.141592653589793하고 각 문자 "3.141592653589793"를의 해당 문자로 바꿉니다 "\"3.141592653589793\"". 중복이 제거되면 실제로로 대체 ".123456789됩니다 ""35\.49831.


4

파이썬 2 (안전 16)

(1.06779146638-0.024105112278j)

범위 ≤ 16. 버전이 중요한 경우 (인쇄 정밀도를 위해?), 나는 ideone을 사용 하고 있습니다 있습니다.

컴퓨터 검색없이 코드를 추측하는 방법을 보지 못했지만 이전에 나에게 깊은 인상을주었습니다.


대답:

print.7j**8j**2j

1
이 REPL 또는 전체 프로그램입니까?
lirtosiast

@ThomasKwa 전체 프로그램.
xnor

dir(complex)복소수에 대해 정의 된 op를 확인하는 데 사용 됩니다. 나는 당신이 계수를 사용할 수 있다는 것을 몰랐습니다. 어쩌면이 가능성이 도움이되지 않습니다,하지만 ...
mbomb007

3

JavaScript ES6, ≤128 바이트- 크랙

출력 (1124 바이트) :

00371223425266831021221451701972262572903253624014424855305776266777307858429019621025109011571226129713701445152216011682176518501937202621172210230524022501260227052810291730263137325033653482360137223845397040974226435744904625476249015042518553305477562657775930608562426401656267256890705772267397757077457922810182828465865088379026921794109605980210001102021040510610108171102611237114501166511882121011232212545127701299713226134571369013925141621440114642148851513015377156261587716130163851664216901171621742517690179571822618497187701904519322196011988220165204502073721026213172161021905222022250122802231052341023717240262433724650249652528225601259222624526570268972722627557278902822528562289012924229585299303027730626309773133031685320423240132762331253349033857342263459734970353453572236101364823686537250376373802638417388103920539602400014040240805412104161742026424374285043265436824410144522449454537045797462264665747090475254796248401488424928549730501775062651077515305198552442529015336253825542905475755226556975617056645571225760158082585655905059537600266051761010615056200262501630026350564010

재미 있고 행운을 빕니다!

원본 코드 :

new Array(254) .fill(0).map((x,s)=>s*s-s/((5-s)||3)).map(Math.floor).join``

Still safe :3
Conor O'Brien

1
나는 이것을 즐겼다. 금이
SLuck49

@ SLuck49 코드를 게시했습니다.
Conor O'Brien

3

TI-BASIC (토마스 콰가 크랙)

범위 : <= 2

끈: -10

암호: Xmin

이 사람을 속이는 것은 없습니다.


당신은 아직 그것을 깨지 않았습니까?
1

1
이 작업을 수행하면 정말 영리합니다.
1

파이썬에서 이것은 ~9(비트 반전)
user193661

물론 TI-BASIC에서 답해야합니다. 어쨌든 그것은 실제로 중요하지 않습니다. 토마스는 이미 그것을 깨뜨렸다. 나는 그가 멋지기를 기다리고 있다고 생각합니다 (?).
스파게티


3

AppleScript, ≤ 2 바이트 깨짐

"강제로 강요 ... 중얼 거림 ..."

이게 뭐야? 짧은 AppleScript 답변? :영형

결 측값

(예, 이것은 표준 출력으로 인쇄됩니다)


a=또는 a- 1=또는 1-? 나는 전혀 모른다 =)
flawr

아니. 오류 # -2741로 STDERR에 전달됩니다.
애디슨 크럼


1
@squeamishossifrage을 사용하여 1 바이트 씩 단축 할 수 있고 say"Cracked."문법이 마음에 들지 않으면을 사용하여 1 바이트를 더 줄일 수 있습니다 say"Cracked". c :
애디슨 크럼


3

GolfScript (안전)

44460233687688399109436699097976761322375660878906252846699686946304

범위 ≤ 8

해결책

{9?7*}.%

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

작동 원리

  • {9?7*} 스택에서 해당 블록을 푸시합니다.

  • .% 블록을 복제하고 그 자체로 매핑합니다.

    GolfScript는 내일이없는 것처럼 유형 캐스팅을 수행합니다. 이 경우 인터프리터는 이터 러블을 예상하므로 원래 블록이 배열로 캐스트되어 다음과 같은 문자 코드 배열이 생성됩니다. [57 63 55 42] .

  • 블록 자체는 각 문자 코드를 9 번째 거듭 제곱 ( 9?)으로 올린 다음 결과에 7 ( 7*) 을 곱합니다 .

    배열의 네 문자 코드의 경우

    44460233687688399
    109436699097976761
    32237566087890625
    2846699686946304
    

    종료하기 전에 인터프리터는 구분 기호없이 네 개의 정수를 인쇄합니다.

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