Ruby (40 ký tự)
Giải thích một chuỗi các chữ cái az là một số trong cơ sở 26, với a = 1, b = 2, ..., z = 26.
Vì vậy, "mật khẩu" có thể được coi là số N =
16*(26**7) +
1*(26**6) +
19*(26**5) +
19*(26**4) +
23*(26**3) +
15*(26**2) +
18*(26**1) +
4*(26**0)
Nếu chúng ta để s = "a"(đó là: 1) và chúng ta thực hiện (N-1) các cuộc gọi đến s.succ!, s sẽ là "password"(N). Nói cách khác, N = 1 + (N-1).
Đối với một ví dụ sẽ chạy nhanh hơn, để chứng minh tính toán của N là chính xác, hãy xem xét "pass"như là mục tiêu, trong đó N là
16*(26**3) +
1*(26**2) +
19*(26**1) +
19*(26**0)
và
s = "a"
(N-1).times { s.succ! }
puts s #== "pass"
Vì chúng tôi cũng muốn in "a", chúng tôi cần
s = "`"
N.times { print(s.succ! + " ") }
Vì vậy, trở lại đầy đủ "mật khẩu". N = 129052722140, rời đi:
s=?`;0x1e0c2443dc.times{$><<s.succ!+" "}
Tôi đã săn lùng một hình thức nhỏ gọn hơn 129052722140 == 0x1e0c2443dbnhưng không thể tìm thấy.
(Cập nhật để sửa lỗi thiếu in "a", nhờ Cary.)