码迷,mamicode.com
首页 > 其他好文 > 详细

[2016-03-22][479][A][Expression]

时间:2016-03-22 21:56:23      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:

  • 时间: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大
  • 遇到的问题:

  1. #include <cstdio>
  2. using namespace std;
  3. typedef long long LL;
  4. int main(){
  5. int a,b,c;
  6. scanf("%d%d%d",&a,&b,&c);
  7. if(a == 1) ++b;
  8. if(b == 1){
  9. if(a > c) ++c;
  10. else ++a;
  11. }
  12. if(c == 1) ++b;
  13. printf("%d\n",a*b*c);
  14. return 0;
  15. }




[2016-03-22][479][A][Expression]

标签:

原文地址:http://www.cnblogs.com/qhy285571052/p/ca9055f154460c44546effa46ac42a59.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!