现在的位置: 首页 > 综合 > 正文

表达式最大值

2018年01月15日 ⁄ 综合 ⁄ 共 446字 ⁄ 字号 评论关闭

 表达式最大值

时间限制: 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;
}

抱歉!评论已关闭.