-1
如何使用字符AZ(大写和小写)输出每个可能的字符组合(8和16之间)和数字0-9,同时也使用一些特殊字符,如下划线和美元符号。Ruby输出8到16个字符之间的每个可能的字符(AZ,az,0-9)
如何使用字符AZ(大写和小写)输出每个可能的字符组合(8和16之间)和数字0-9,同时也使用一些特殊字符,如下划线和美元符号。Ruby输出8到16个字符之间的每个可能的字符(AZ,az,0-9)
正如@tadman说,这不会太阳系的生命周期内完成,但在理论上,你可以做到这样的:
chars = [*:A..:Z, *:a..:z, *0..9, ?$, ?_]
(8..16).each do |n|
chars.permutation(n) do |a|
puts a.join
end
end
如果要计算输出的行数
(8..16).reduce(0) {|sum,n| sum + chars.permutation(n).size }
注:开始之前有四种Array
方法获得字符的 “组合”:permutation
,combination
,repeated_permutation
和repeated_combination
。您应该检查文档或对每个文档进行试验,以确保您获得正确的“组合”。
你需要多少年来运行这个程序?这里有62^16种可能性。这大约是1.5万亿年,每秒迭代次数为10亿次。 – tadman
欢迎来到Stack Overflow。除了在这里问问以外,你还有什么努力?这是一项任务吗? –