今天上课,老师教了小易怎么计算加法和乘法,乘法的优先级大于加法,但是如果一个运算加了括号,那么它的优先级是最高的。例如:
1
2
3
4
1+23=7
1(2+3)=5
123=6
(1+2)3=9
现在小易希望你帮他计算给定3个数a,b,c,在它们中间添加"+", "", “(”, ")"符号,能够获得的最大值。
输入描述:
一行三个数a,b,c (1 <= a, b, c <= 10)
输出描述:
能够获得的最大值
输入例子1:
1 2 3
输出例子1:
9
代码如下:
#include
using namespace std;
int main()
{
int a,b,c;
cin>>a;
cin>>b;
cin>>c;
while(a<1 || a>10 || b<1 || b>10 || c<1 || c>10)
{
cin>>a;
cin>>b;
cin>>c;
}
int m[6];
for(int w=0;w<6;w++)
{
m[w]=0;
};
m[0]=a+b+c;
m[1]=abc;
m[2]=(a+b)c;
m[3]=a(b+c);
m[4]=ab+c;
m[5]=a+bc;
int kd;
for(int dd=5;dd>=0;dd--)
{
if(m[dd]>=m[dd-1])
{
kd=m[dd];
m[dd]=m[dd-1];
m[dd-1]=kd;
}
}
cout<<m[0]<<endl;
};