java - 排列操作数和运算符以获得数字

标签 java algorithm math operators expression

我有一个给定的数字 n,4 个操作数 a1、a2、a3、a4 和 4 个 Java 运算符 +、-、*、/。我需要测试我是否可以用运算符排列操作数,以便它们形成一个等于给定数字的数学表达式,或者至少与它的值最接近。我不需要使用所有操作数,每个操作数只能使用一次。我并不是要别人给我代码只是为了解释是否可行,或者是否有一些库可以做到这一点。谢谢。

最佳答案

这是绝对可能的。您必须对例如有两个操作数 a、b 并且只有一个运算符 - 进行所有可能的排列。在这种情况下,可能的排列是 a-bb-a。如果所有排列都已完成,但您无法获得数字,则此函数一定会产生类似 number can't be arrived 的结果(可能的输出之一)。

Here是一个用于进行基本排列的递归程序。你的逻辑应该与此类似。

Here是执行您准备好的表达式并获得结果的解决方案

关于java - 排列操作数和运算符以获得数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35724030/

相关文章:

python - 使用 for 循环返回最多 n 个素数的列表

c++ - STL 中的 acos、atan 函数是否使用大量 cpu 周期

Javascript 数学不精确错误? (0.1+0.01+0.01+0.01+0.01+0.01 == 0.15000000000000002)

python-3.x - 错误: "can' t multiply sequence by non-int of type 'float' "

java - 将上下文传递给 getColor,Android Studio

java - Lambda 表达式与方法引用

algorithm - 二次算法的并行化

java - java中网络字节顺序到主机字节顺序

java - 为什么我们需要设置SONAR_RUNNER_OPTS?

c - 实现并行算法来计算 pi