c++ - 从 N 应用一系列操作以获得值 M

标签 c++ algorithm language-agnostic

这是作业!请不要给我解决方案,只是提示!

问题是应用从 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/

相关文章:

c++ - 编译 GLFW 时遇到问题, undefined symbol

algorithm - 'c' 中的 "f(n) <= c g(n)"是什么?你是怎么找到它的?

algorithm - 两个嵌套 for 循环的复杂性,其中内部循环变得更短?

language-agnostic - 一个 StringToken 解析器,提供谷歌搜索风格 "Did you mean:"建议

unit-testing - 对调用我已经在测试的另一种方法的方法进行单元测试是不好的做法吗?

c++ - 隐藏其他运营商一段时间

c++ - 如何使用 DrawText() 显示变量?

language-agnostic - 重用现有功能

c++ - 将大小 <= N 的所有连续 0 位组翻转为 1s

algorithm - 类似的听起来音乐