Evaluación de expresiones - Niuke.com - Preguntas de la entrevista

Descripción del Título

En la clase de hoy, el maestro le enseñó a Xiao Yi cómo calcular la suma y la multiplicación. La prioridad de la multiplicación es mayor que la de la suma, pero si una operación está entre paréntesis, su prioridad es la más alta. P.ej:

1 + 2 * 3 = 7 
1 * (2 + 3) = 5 
1 * 2 * 3 = 6 
(1 + 2) * 3 = 9

Ahora Xiao Yi espera que puedas ayudarlo a calcular el valor máximo que se puede obtener agregando los símbolos "+", "*", "(", ")" a los 3 números dados a, by c.

Ingrese descripción:

Tres números seguidos a, b, c (1 <= a, b, c <= 10)

Descripción de salida:

Valor máximo que se puede obtener

Ejemplo 1

ingresar

1 2 3

Producción

9

Código de referencia:


#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
    int n=3;
    vector<int>data(n);
    for(int i=0;i<n;++i)
        cin>>data[i];
    sort(data.begin(),data.end());
    int sum=data[0];
    for(int i=1;i<n;++i)
    {
        if(data[i]==1 ||sum==1)
            sum+=data[i];
        else
            sum=sum*data[i];
    }
    cout<<sum<<endl;
    return 0;
}

 

Supongo que te gusta

Origin blog.csdn.net/qq_40513792/article/details/104287927
Recomendado
Clasificación