牛客網 21天 3.2表示式求值
阿新 • • 發佈:2019-02-04
今天上課,老師教了小易怎麼計算加法和乘法,乘法的優先順序大於加法,但是如果一個運算加了括號,那麼它的優先順序是最高的。例如:
1 2 3 4 |
|
現在小易希望你幫他計算給定3個數a,b,c,在它們中間新增"+", "*", "(", ")"符號,能夠獲得的最大值。
輸入描述:
一行三個數a,b,c (1 <= a, b, c <= 10)
輸出描述:
能夠獲得的最大值
示例1
輸入
1 2 3
輸出
9
c++
#include <iostream> #include <algorithm> using namespace std; int main(){ int a, b, c; cin>>a>>b>>c; int Max = a+b+c; Max = max(Max, a*b*c); Max = max(Max, a+b*c); Max = max(Max, (a+b)*c); Max = max(Max, a*b+c); Max = max(Max, a*(b+c)); cout<<Max<<endl; return 0; }
python
abc=list(raw_input().split(' '))
a=int(abc[0])
b=int(abc[1])
c=int(abc[2])
print max(a+b+c,a*b*c,a+b*c,a*b+c,(a+b)*c,a*(b+c))
java
import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] line = br.readLine().split(" "); int a = Integer.parseInt(line[0]); int b = Integer.parseInt(line[1]); int c = Integer.parseInt(line[2]); int max = 0; max = a + b + c; max = Math.max(max, a*b*c); max = Math.max(max, a+b*c); max = Math.max(max, (a+b)*c); max = Math.max(max, a*b+c); max = Math.max(max, a*(b+c)); System.out.println(max); } }