擅长:python、mysql、java
<p>这是一个如此小的问题,暴力解决方案并不是一个坏方法。假设每个字母必须代表一个唯一的数字(也就是说,我们不允许解S=9,M=1,*=0),我们看到要尝试的组合数是<i>n!</i>,其中<i>n</i>是密码中唯一字母的数目。要评估的理论最大组合数<i>10!=3628800</i>,对于计算机来说这是一个很小的数字。在</p>
<p>如果我们允许多个字母代表同一个数字,那么要尝试的组合数量将以<i>10^n</i>为界,同样,其中<i>n</i>是唯一字母的数目。假设只有大写英文字母,理论上最大的组合数是<i>10^26</i>,所以对于理论上最坏的情况,我们可能需要一些启发式方法。然而,大多数实用的密码算法都有少于26个唯一字母,因此正常情况下可能会有一个小于10的<i>n</i>限制,这对于计算机来说也是相当合理的。在</p>