Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中尝试所有可能性_Java - Fatal编程技术网

在java中尝试所有可能性

在java中尝试所有可能性,java,Java,我有4个整数(a、b、c、d)和3个表示数学运算符(+、-、*、/)的字符串。 我想检查是否有可能从这些整数和字符串中生成一个特定的数字(e) 例如: a+b*c-d==e 每个整数只能使用一次,运算符可以使用多次,但每两个整数之间只能使用一次 有人能帮我吗?先把你的问题分解成小块 我会把它细分如下: 计算4个整数的所有置换。应该有4个!(24)其中。(查找生成置换) 计算可能发生的3个操作的所有组合。那里 应该是其中的3*3(9)。(查找生成置换的 重复) 现在你有了整数的顺序和运算的顺序,试

我有4个整数(a、b、c、d)和3个表示数学运算符(+、-、*、/)的字符串。 我想检查是否有可能从这些整数和字符串中生成一个特定的数字(e)

例如:

a+b*c-d==e

每个整数只能使用一次,运算符可以使用多次,但每两个整数之间只能使用一次


有人能帮我吗?

先把你的问题分解成小块

我会把它细分如下:

  • 计算4个整数的所有置换。应该有4个!(24)其中。(查找生成置换)

  • 计算可能发生的3个操作的所有组合。那里 应该是其中的3*3(9)。(查找生成置换的 重复)

  • 现在你有了整数的顺序和运算的顺序,试着计算e。(交织组合:即1来自ints,1来自ops,2来自ints,2来自ops等…)这应与所有int置换和所有op组合一起完成

  • 在评估所有方程式(其中216个)后,如果它们都不等于e,则不存在解


  • 这是家庭作业吗?那么你应该给它贴上这样的标签吗?我曾经做过一个数学游戏,在游戏中,用户必须想出一个
    e
    的公式,计算机会给出一个解决方案。这里我想知道:(1)它是否也可以是
    d-a*c==e
    ,(2)是否使用了正常的运算符优先级,或者求值是
    (d-a)*c