poj --2199

来源:互联网 发布:雷军编程水平 编辑:程序博客网 时间:2024/06/14 00:25
//浮点二分#include<iostream>#include<cmath>using namespace std;double f(double x){    return (double)(8*pow(x,4.0)+7*pow(x,3.0)+2*pow(x,2.0)+3*pow(x,1.0)+6);}int main(){    int t,i,j,k;    double y,first,last,mid;    cin>>t;    while(t--)    {        cin>>y;         if(f(0)<=y&&f(100)>=y)        {             first=0;last=100;             while(last-first>1e-6)             {                   mid=(first+last)/2;                   double ans=f(mid);                   if(ans>y)                      last=mid-1e-7;                   else                      first=mid+1e-7;             }             printf("%.4f\n",(first+last)/2);        }        else            printf("No solution!\n");           }  return 0;} 

0 0
原创粉丝点击