牛客練習-表示式求值
阿新 • • 發佈:2018-11-25
今天上課,老師教了小易怎麼計算加法和乘法,乘法的優先順序大於加法,但是如果一個運算加了括號,那麼它的優先順序是最高的。例如:
1 2 3 4 |
|
現在小易希望你幫他計算給定3個數a,b,c,在它們中間新增"+", "*", "(", ")"符號,能夠獲得的最大值。
輸入描述:
一行三個數a,b,c (1 <= a, b, c <= 10)
輸出描述:
能夠獲得的最大值
示例1
輸入
1 2 3
輸出
9
#include<iostream> #include<cmath> using namespace std; int calculate(int x, int y, int z) { int a = x+y+z; int b = x*y+z; int c = x*y*z; int d = (x+y)*z; return max(max(a,b),max(c,d)); } int main() { int x,y,z; cin>>x>>y>>z; int a = calculate(x,y,z); int b = calculate(x,z,y); int c = calculate(y,z,x); cout<<max(max(a,b),c)<<endl; return 0; }