기술
원래 코드는 다음을 수행합니다.
CG Convert "abcdefghijklmnopqrstuvwxyz" from base 256 to integer, yielding
156490583352162063278528710879425690470022892627113539022649722.
^3y21 Compute 3^(2 * 21).
% Calculate the modulus.
이후 156490583352162063278528710879425690470022892627113539022649722 - 58,227,066이 제공 156490583352162063278528710879425690470022892627113538964422656을 , 같아지는 2 26 × 3 × 7 × 7477 × 381,524,422,711 × 17,007,550,201,751,761 × 2288745700077000184147 원하는 출력을 대체함으로써 얻어 질 수 있고, ^3y21
이 상품의 제수로 평가하고보다 크다고 뭔가 58,227,066 .
^
원래 코드는 우리의 전력을 계산하는 데 사용할 수있는 제안 이 1, 3 우리는 형식의 피팅 제수 계산할 수 3 × 2 N을 .
둘 다 오도합니다. 3 (Levenshtein의 거리와 해법 %CG^2 26
, %CG^y2 13
, %CG^4y13
) 또는 4- (%CG.<3y13
) 용이하게 발견되지만, 2 거리의 용액을 다른 접근법을 필요로한다.
소문자 알파벳 ( G
)은 26 개의 문자를 가지므로, 전력 세트 (엄격히 증가하는 소문자의 일련의 세트)는 2 26 개의 요소를 갖습니다 . 에 의해 교체 y2
와 함께yG
, 우리는이 힘 세트를 계산한다.
우리는에 의해 세트의 길이를 검색 할 수 있습니다 교체 3
와l
함께하는 잎, 우리를 ^lyG1
, 즉, 2 (26)가 첫 승.
암호
%CG^lyG1
이것은 사용 가능한 메모리가 충분한 컴퓨터에서만 작동하므로 (약 6.43GiB에 따라 time
) 온라인 인터프리터에서는 작동하지 않습니다.
명령 행에서 결과를 확인하는 방법은 다음과 같습니다.
$ \time -v pyth -c '%CG^lyG1'
58227066
Command being timed: "pyth/pyth.py -c %CG^lyG1"
User time (seconds): 30.73
System time (seconds): 2.12
Percent of CPU this job got: 100%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:32.85
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 6742564
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 2269338
Voluntary context switches: 1
Involuntary context switches: 58
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0