poj 1759

来源:互联网 发布:android 开启数据连接 编辑:程序博客网 时间:2024/05/18 01:58

#include<stdio.h>
#define exp 1e-6
double d[1000+16];
double A,res;
int N;
int judge(double x)
{
    int i;
    d[0]=A;
    d[1]=x;
    for(i=2;i<N;i++)
    {
         d[i]=2*(d[i-1]+1)-d[i-2];
           if(d[i]<0)
           return 0;
     }
     return 1;
}
int main(void)
{
    double l,r,m;
    scanf("%d%lf",&N,&A);
    l=0;r=A;
    while(r-l>exp)
    {
            m=(r+l)/2;
            if(judge(m))
            {
              res=d[N-1];
                 r=m;
            }
            else
                 l=m;
    }
    printf("%.2lf\n",res);

}

 

0 0
原创粉丝点击