hdu 5105 高中数学题分情况讨论

来源:互联网 发布:大赢家缩水软件 编辑:程序博客网 时间:2024/05/16 18:04
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>#define eps 1e-8using namespace std;double a,b,c,d,l,r;double g ( double x ){    return fabs(a*x*x*x + b*x*x + c*x + d);}int main ( ){    while ( ~scanf ( "%lf%lf%lf%lf%lf%lf" , &a,&b,&c,&d,&l,&r ))    {        double ans = 0.0;        double a1 = 3.0*a , b1 = 2.0*b;        double d = b1*b1 - 4.0*a1*c;        if ( a == 0 )        {            if ( b== 0 )  ans = max ( g(l) , g(r));            else             {                double z = -1.0*c/(2.0*b);                if ( l <= z && z <= r )                    ans = max ( ans , g(z));                ans = max ( ans , max ( g(l) , g(r)));            }         }        else         {            if ( d <= 0 )                ans = max ( g(l), g(r) );            {                double x1 = (-1.0*b1 + sqrt(d) )/ (2.0 * a1);                double x2 = (-1.0*b1 - sqrt(d) )/ (2.0 * a1);                if ( x1 >= l && x1 <= r )                    ans = max ( ans , g(x1));                if ( x2 >= l && x2 <= r )                    ans = max ( ans , g(x2));                ans = max ( ans , max ( g(l) , g(r)));            }        }        printf ( "%.2f\n" , ans );    }}    

0 0
原创粉丝点击