表达式最大值
时间限制: 1 Sec 内存限制: 128 MB提交: 36 解决: 10
[ 提交][ 状态][ 讨论版]
题目描述
正整数N可以分解成为三个非负实数之和,即N=X+Y+Z, (X,Y,Z>=0),
求X,Y,Z使得表达式X*(Y+Z^2) 最大,Z^2表示Z的平方。
输入
输入包括多行,每行一个整数N(1<=N<2^31)。
输出
对于每一个测试用例,输出满足条件的三个实数X,Y,Z,三者之间用空格分开,保留小数点后三位。如果有多个答案,从小到大(按从X到Z)输出。每个答案占一行。
样例输入
1
样例输出
0.500 0.500 0.000
简单的数学逻辑推理
简单的数学逻辑推理
#include<stdio.h>
#include<math.h>
int main()
{
double n;
while(scanf("%lf",&n)==1)
{
if(n==1)
{
printf("0.500 0.500 0.000\n");
continue;
}
printf("%.3lf 0.000 %.3lf\n",n/3.0,2*n/3.0);
}
return 0;
}