UVA 10341 Solve It (二分)

来源:互联网 发布:淘宝返利微信 编辑:程序博客网 时间:2024/05/24 01:35

题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19047

代码:

#include<stdio.h>#include<string.h>#include<math.h>#define F(x) p*exp(-x)+q*sin(x)+r*cos(x)+s*tan(x)+t*x*x+uusing namespace std;int main(){    int p,q,r,s,t,u;    while(~scanf("%d%d%d%d%d%d",&p,&q,&r,&s,&t,&u))    {        double f0=F(0),f1=F(1);        if(f0<0||f1>0)        {            printf("No solution\n");        }        else        {            double x=0,y=1,ans;            for(int i=0;i<=100;i++)            {                ans=x+(y-x)/2;                if(F(ans)>0)                    x=ans;                else                    y=ans;            }            printf("%.4lf\n",ans);        }    }}


0 0
原创粉丝点击