2014-09-20 45 views
0

我即将开始的程序发送+更多=钱。我书中的说明确实不是那么清楚。我根本不要求代码,我会这样做。我只需要澄清一下在这个程序中实际发生的事情。以下是本书的说明。 “使用回溯,编写一个解决总和难题的程序,其中每个字母应该被一个数字代替,例如Send + More = Money。其他例子是”base + ball = games“和”Kyoto + Osaka = Tokyo“。这就是它所说的,任何澄清将不胜感激!求和拼图指令

+0

它是cryptarithmetics? – Nabin 2014-09-20 13:38:54

+0

是的!我刚刚发现了! – Dustin 2014-09-20 13:41:48

回答

1

显然这被称为verbal arithmetic

问题是你有三个数字,这些数字中的字母构成数字,前两个数字的总和等于第三个数字。

“解决”这样一个难题发生了什么事情,你可以找到数字的值,使得和是正确的。使用简单的回溯,一个明显的策略就是尝试为每个不同的数字选择0到9(但是还没有使用的值),当所有数字都有值时,检查总和是否正确。有一些技巧可以用来限制你的搜索空间。

+0

这有助于!感谢您的澄清! – Dustin 2014-09-20 13:58:36

2

我想你必须编写一个算法来找出使总和工作的数字。例如,send + more = money可能像9567 + 1085 = 10652

我所做的替代e=5o=0

+0

谢谢你的帮助! – Dustin 2014-09-20 13:57:51

1

我认为,这意味着你需要查找替代使这些方程真的。因此,例如对于a + b = b,则a必须是0,b可以是任何东西。