[2016-03-22][479][A][Expression]
时间:2016-03-22 21:53:28
收藏:0
阅读:210
时间:2016-03-22 20:13:36 星期二
题目编号:[2016-03-22][479][A][Expression]
题目大意:给定三个整数,在3个数字之间加符号(括号或者运算符),输出运算之后最大值
分析:
- $ab - a+b = (a-1)(b-1) - 1,当 a\geq2 且 b \geq 2时 abc > (a+b)c$
- 所以数字都大于2的时候,乘法比加法大
- $\frac{a+b+c}{(a+b)*c} = \frac{1}{c} + \frac{1}{a+b} < 1,显然abc>a+b+c$
- 累乘比累加大
- $令a > c 则(a+1)c = ac+a < ac + c = a(1+c),所以小的数+1$
- 小的数字+1大
- $ab - a+b = (a-1)(b-1) - 1,当 a\geq2 且 b \geq 2时 abc > (a+b)c$
遇到的问题:
#include <cstdio>
using namespace std;
typedef long long LL;
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a == 1) ++b;
if(b == 1){
if(a > c) ++c;
else ++a;
}
if(c == 1) ++b;
printf("%d\n",a*b*c);
return 0;
}
原文:http://www.cnblogs.com/qhy285571052/p/ca9055f154460c44546effa46ac42a59.html
评论(0)