Évaluation d'expression - Niuke.com - Questions d'entrevue

Description du titre

En classe aujourd'hui, l'enseignant a appris à Xiao Yi comment calculer l'addition et la multiplication. La priorité de la multiplication est plus élevée que celle de l'addition, mais si une opération est entre parenthèses, sa priorité est la plus élevée. Par exemple:

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

Maintenant Xiao Yi espère que vous pourrez l'aider à calculer la valeur maximale qui peut être obtenue en ajoutant les symboles "+", "*", "(", ")" aux 3 nombres donnés a, b et c.

Entrez la description:

Trois nombres d'affilée a, b, c (1 <= a, b, c <= 10)

Description de la sortie:

Valeur maximale pouvant être obtenue

Exemple 1

Entrer

1 2 3

Sortir

9

Code de référence:


#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;
}

 

Je suppose que tu aimes

Origine blog.csdn.net/qq_40513792/article/details/104287927
conseillé
Classement