轨道
/
F#
F#
/
练习
/
字母算术
字母算术

字母算术

困难

说明

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

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

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

提示

  • 解析文本时,可以试试使用 FParsec 库。
  • 你可以用暴力算法解决这道练习,但运行性能可能会比较差。 试着找一个更精妙的解法。提示:可以试试学校里通常教的竖式加法。
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
F# Exercism

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

注册 Exercism,借助 18 个概念148 个练习 和真人导师指导,学习并掌握 F#,全部免费。