关闭

膨胀的木棍

166人阅读 评论(0) 收藏 举报
分类:
总时间限制:
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;
}

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2269次
    • 积分:300
    • 等级:
    • 排名:千里之外
    • 原创:29篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档