给定一个字母算术谜题,找出正确的答案。
字母算术是一种谜题,单词中的字母会被替换成数字。
例如SEND + MORE = MONEY:
S E N D
M O R E +
-----------
M O N E Y
把这些字母替换成有效的数字后,得到:
9 5 6 7
1 0 8 5 +
-----------
1 0 6 5 2
之所以正确,是因为每个字母都被替换成了不同的数字,而这些单词转换成数字后,能构成一个有效的加法算式。
每个字母必须代表不同的数字,并且多位数的首位数字不能为 0。
在解答中,你或许(也或许不)想调用 Combinatorics.jl 里的permutations(a, t)函数。
permutations(a ,t),因为它已经在命名空间里了。你可以在标为permutations.jl的标签页中查看源代码。include("permutations.jl"),以使用其中的permutations(a, t)版本。如果你在本地使用Combinatorics.jl v1.0.3,permutations(a, t)在大规模测试上会非常慢。请使用提供的permutations.jl文件,或者升级到Combinatorics.jl v≥1.1.0,或者“降级”到v1.0.2。