¿Qué debo hacer si mi amigo me pidió ayuda para escribir el código y no puedo ayudarlo?

Problema de suma de subconjunto
El problema es muy simple. Dado que un conjunto de enteros encuentra un subconjunto que, además, es igual a 0. Esto es NP-completo, lo que significa que toma un tiempo exponencial con respecto al número de enteros, que en palabras simples significa que el tiempo aumentaría exponencialmente si aumentara el número de enteros

Considera tu problema ahora: no solo estás pidiendo la suma, sino también la multiplicación y la resta. Esto simplemente hace que sea 3 veces más complejo en términos de tiempo que le llevaría saber la salida.

Pero, por supuesto, Mike no te enviará un millón de números y, por lo tanto, no tendrá tiempo astronómico para que encuentres una solución.

Su problema es una versión más difícil de este problema de subconjunto, aquí no solo puede sumar, sino también restar y multiplicar. Sin duda, la solución será exponencial en el tiempo.

Haz una función para formar todos los subconjuntos de la matriz dada. Esto le dará 2 ^ n subconjuntos para n números en la matriz.

Ahora para cada subconjunto llamar a una función (por ejemplo, operar ())

operar ():

Dar prioridades globales entre los operadores sobre el otro según BODMAS.

Ahora considera tu subconjunto

Por ejemplo, si su subconjunto contiene m elementos, hay espacios en blanco m-1

Ejemplo: subconjunto: 2,3, -9,7

2_3_-9_7

Ahora para cada espacio en blanco tienes 3 opciones. Ya sabes el orden de prioridad. Sería un buen comienzo si convierte esta información en un código y luego la generaliza para varios operadores diferentes.

El truco es dividirlo en tareas más pequeñas:

Leer en el número de problemas.

Leer en un problema

Formar todas las permutaciones posibles de los números.

Formar todas las permutaciones posibles de los operadores.

Evalúe cada una de las permutaciones de los números contra cada una de las permutaciones de los operadores.

Allí, hemos convertido un problema de sonido duro en varios problemas mucho más simples.