如何使用字符AZ(大写和小写)和数字0-9输出每个可能的字符组合(8到16之间),同时还使用一些特殊字符,如下划线和美元符号。
答案 0 :(得分:1)
正如@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
。您应该查看文档或对每个文档进行实验,以确保您获得正确的"组合。"