我可不是为了被全人类喜欢才活着的,只要对于某|

王陸

园龄:6年11个月粉丝:2052关注:178

Simple Expression

Description

You probably know that Alex is a very serious mathematician and he likes to solve serious problems. This is another problem from Alex.
You are given three nonnegative integers abc. You have to arrange them in some order and put +, − or × signs between them to minimize the outcome of the resulting expression. You are not allowed to use unary minus and parentheses in the expression. There must be exactly one sign between every pair of neighbouring numbers. You should use standard order for performing operations (multiplication first, addition and subtraction then).

Input

There are three lines with one integer in each line. The numbers are arranged in non-decreasing order (0 ≤ a ≤ b ≤ c ≤ 100).

Output

Print one number — the minimal outcome.

Sample Input

inputoutput
1
2
3
-5

 

解题思路:三个数之间构成一个数学式,中间只能有两个运算符,既然要求数学式的最小值当然不能出现加法运算符了,实际上就有两种情况罢了,第二个运算符是减号还是乘号,取最小值。

 

复制代码
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
    int i,sum1,sum2;
    int a[3];
    for(i=0;i<3;i++)
    {
        scanf("%d",&a[i]);
    }
    sort(a,a+3);
    sum1=a[0]-a[1]-a[2];
    sum2=a[0]-a[1]*a[2];
    printf("%d\n",min(sum1,sum2));
    return 0;
}
复制代码

 

本文作者:王陸

本文链接:https://www.cnblogs.com/wkfvawl/p/9032133.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   王陸  阅读(169)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起