1152:最大数max(x,y,z)
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 9640 通过数: 6639
【题目描述】
已知:
m=max(a,b,c)max(a+b,b,c)×max(a,b,b+c)m=max(a,b,c)max(a+b,b,c)×max(a,b,b+c)
输入a,b,ca,b,c,求mm。把求三个数的最大数max(x,y,z)max(x,y,z)分别定义成函数和过程来做。
【输入】
输入a,b,ca,b,c。
【输出】
求mm,保留到小数点后三位。
【输入样例】
1 2 3
【输出样例】
0.200
【来源】
#include <bits/stdc++.h>
using namespace std ;
typedef long long LL ;
inline LL rd() { register LL x = 0 , f = 1 ; register char c ;
#define gc c = getchar()
while(isspace(gc)) ;
if(c == '-') f = -1 , gc ;
while(x = (x<<1) + (x<<3) + (c&15) , isdigit(gc)) ;
return x * f ;
#undef gc
}
const int inf = INT_MAX >> 1 ;
int a , b , c ;
int max(int x,int y) { return x > y ? x : y ; }
double solve(int x , int y ,int z) {
int m1 = max(x,max(y,z)) ;
int m2 = max(x+y,max(y,z)) ;
int m3 = max(x,max(y,y+z)) ;
return m1 * 1.0 / (m2 * m3) ;
}
signed main() {
a = rd() , b = rd() , c = rd() ;
cout << fixed << setprecision(3) << solve(a,b,c) << endl ;
return 0 ;
}