Sự miêu tả
Mã ban đầu thực hiện như sau:
CG Convert "abcdefghijklmnopqrstuvwxyz" from base 256 to integer, yielding
156490583352162063278528710879425690470022892627113539022649722.
^3y21 Compute 3^(2 * 21).
% Calculate the modulus.
Kể từ 156490583352162063278528710879425690470022892627113539022649722 - 58.227.066 cho 156490583352162063278528710879425690470022892627113538964422656 , bằng 2 26 × 3 × 7 × 7477 × 381.524.422.711 × 17007550201751761 × 2288745700077000184147 , đầu ra mong muốn có thể thu được bằng cách thay thế ^3y21
bằng một cái gì đó mà đánh giá lại để ước của sản phẩm này và lớn hơn 58.227.066 .
Các ^
trong mã gốc gợi ý rằng chúng ta có thể sử dụng nó để tính toán một sức mạnh của 2 , các 3 mà chúng ta có thể tính toán một ước phù hợp của mẫu 3 × 2 n .
Cả hai đều sai lệch. Giải pháp với một khoảng cách Levenshtein 3 ( %CG^2 26
, %CG^y2 13
, %CG^4y13
) hoặc 4 (%CG.<3y13
) đều dễ dàng tìm thấy, nhưng giải pháp ở khoảng cách 2 đòi hỏi một cách tiếp cận khác nhau.
Bảng chữ cái chữ thường ( G
) có 26 chữ cái, do đó, tập hợp sức mạnh của nó (tập hợp tất cả các chuỗi tăng dần của các chữ cái thường) có 2 26 phần tử. Bằng cách thay thế y2
bằngyG
, chúng tôi tính toán bộ sức mạnh này.
Chúng ta có thể truy xuất độ dài của tập hợp bằng cách thay thế 3
bằngl
, điều này khiến chúng ta có ^lyG1
, tức là, 2 26 được nâng lên sức mạnh đầu tiên.
Mã
%CG^lyG1
Lưu ý rằng điều này sẽ chỉ hoạt động trên một máy tính có đủ bộ nhớ khả dụng (khoảng 6,43 GiB, theo đó time
), vì vậy nó sẽ không hoạt động với trình thông dịch trực tuyến.
Đây là cách bạn có thể xác minh kết quả từ dòng lệnh:
$ \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