这是作业!请不要给我解决方案,只是提示!
问题是应用从 N 开始的一系列操作来找到 M。输入是 6 个数字:A、B、C、D、N、M,其中 A 对应加法,B 对应减法,C 对应乘法,和 D 到除法。 这是一个例子:
10 4 2 3
21 32
我们将尝试使用这些操作从 21 开始找到数字 32
ADD 10 // "A" number
SUB 4 // "B" number
MUL By 2 // "C" number
DIV By 3 // "D" number
可能的答案是:
32 = ((((21 * 2) + 10) - 4) / 3) * 2
如果存在操作序列,程序输出1
,否则输出0
。有人可以提示我如何解决这个问题吗?
最佳答案
你可以做一些 graph search ,但是有四个数字和四个可能的操作来执行这些数字,每个节点将有 16 个分支,并且它可能会很快变大。
关于c++ - 从 N 应用一系列操作以获得值 M,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15784861/