xhk2000的专栏

谁加个qq:3143543880

膨胀的木棍
总时间限制:
1000ms
内存限制:
65536kB
描述

当长度为L的一根细木棍的温度升高n度,它会膨胀到新的长度L'=(1+n*C)*L,其中C是热膨胀系数。

当一根细木棍被嵌在两堵墙之间被加热,它将膨胀形成弓形的弧,而这个弓形的弦恰好是未加热前木棍的原始位置。

你的任务是计算木棍中心的偏移距离。


呵呵 第一次知道了卡精度

二分角度

#include <set>
#include <map>
#include <queue>
#include <deque>
#include <cstdio>
#include <string>
#include <vector>
#include <math.h>
#include <time.h>
#include <utility>
#include <cstdlib>
#include <sstream>
#include <cstring>
#include <stdio.h>
#include <iomanip>
#include <iostream>
#include <algorithm>
using namespace std;
double L,t,c,len,mid,num,l,r,ans;
const double PI= 3.1415926535898;
int main()
{
    cin>>L>>t>>c;
    len=(1+t*c)*L;
    l=0;r=PI/2;
    while(r-l>0.00000000001)
    {
        mid=(l+r)/2;
        if(mid/(sin(mid))<len/L)l=mid;
        else r=mid;
    }
    L/=2;
    double temp=len/(2*mid);
    ans=temp-sqrt(temp*temp-L*L);
    printf("%.3lf",ans);
    return 0;
}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xhk2000/article/details/52350815
个人分类: 二分
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

膨胀的木棍

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭