रूबी (40 अक्षर)
Az अक्षरों की एक स्ट्रिंग को आधार संख्या 26 में एक = 1, b = 2, ..., z = 26 के साथ व्याख्या करें।
इसलिए "पासवर्ड" को संख्या 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)
यदि हम s = "a"(वह है: 1) और हम (N-1) कॉल करते हैं s.succ!, तो s "password"(N) होगा। दूसरे शब्दों में, एन = 1 + (एन -1)।
एक उदाहरण के लिए जो एन की गणना को सही साबित करने के लिए अधिक तेज़ी से चलेगा, "pass"लक्ष्य के रूप में विचार करें, जहां एन है
16*(26**3) +
1*(26**2) +
19*(26**1) +
19*(26**0)
तथा
s = "a"
(N-1).times { s.succ! }
puts s #== "pass"
चूंकि हम "a"भी मुद्रित करना चाहते हैं, हमें आवश्यकता है
s = "`"
N.times { print(s.succ! + " ") }
तो पूर्ण "पासवर्ड" पर वापस जाएं। N = 129052722140, जा रहा है:
s=?`;0x1e0c2443dc.times{$><<s.succ!+" "}
मैंने अधिक कॉम्पैक्ट रूप में शिकार किया, 129052722140 == 0x1e0c2443dbलेकिन एक नहीं मिला।
(मुद्रण की कमी को ठीक करने के लिए अद्यतन किया गया "a", Cary का धन्यवाद।)