轨道
/
Julia
Julia
/
练习
/
字母算术
字母算术

字母算术

困难

说明

给定一个字母算术谜题,找出正确的答案。

字母算术是一种谜题,单词中的字母会被替换成数字。

例如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。

实现

Note

在解答中,你或许(也或许不)想调用 Combinatorics.jl 里的permutations(a, t)函数。

  • 如果你在在线编辑器中作答,可以随意调用permutations(a ,t),因为它已经在命名空间里了。你可以在标为permutations.jl的标签页中查看源代码。
  • 如果你在本地作答,请在解答文件的开头加上include("permutations.jl"),以使用其中的permutations(a, t)版本。
Caution

如果你在本地使用Combinatorics.jl v1.0.3,permutations(a, t)在大规模测试上会非常慢。请使用提供的permutations.jl文件,或者升级到Combinatorics.jl v≥1.1.0,或者“降级”到v1.0.2。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Julia Exercism

准备好开始 字母算术 了吗?

注册 Exercism,借助 35 个概念128 个练习 和真人导师指导,学习并掌握 Julia,全部免费。