式の評価--niuke.com--インタビューの質問

タイトル説明

今日の授業では、先生がシャオ・イーに足し算と掛け算の計算方法を教えました。掛け算の優先度は足し算よりも高いですが、演算を括弧でくくった場合、その優先度が最も高くなります。例えば:

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

Xiao Yiは、与えられた3つの数字a、b、cに「+」、「*」、「(」、「)」の記号を追加することで、得られる最大値を計算できるようになることを望んでいます。

説明を入力してください:

行a、b、cの3つの数字(1 <= a、b、c <= 10)

出力の説明:

取得できる最大値

例1

入る

1 2 3

出力

9

参照コード:


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

 

おすすめ

転載: blog.csdn.net/qq_40513792/article/details/104287927