zoukankan      html  css  js  c++  java
  • 膨胀的木棍

    【题目描述】

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

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

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

    【输入格式】

    三个非负实数:木棍初始长度(单位:毫米),温度变化(单位:度),以及材料的热膨胀系数。
    保证木棍不会膨胀到超过原始长度的1.5倍。

    【输出格式】

    木棍中心的偏移距离(单位:毫米),保留到小数点后第三位。

    【代码】

     1 #include<bits/stdc++.h>
     2 #define pi 3.1415926
     3 
     4 using namespace std;
     5 const double e=1e-14;
     6 double n,m,k,t;
     7 double calc(double x){
     8     double y=n/2/sin(x);
     9     return 2*y*x;
    10 }
    11 int main()
    12 {
    13     cin>>n>>m>>k;
    14     t=(1+m*k)*n;//先计算长度
    15     double l=0.000000000001,r=pi/2;
    16     while(r-l>e){
    17         double mid=(l+r)/2;
    18         if(calc(mid)<t) l=mid;
    19         else r=mid;
    20     }
    21     printf("%0.3lf",(n/2/sin(l)-n/2/tan(l)));
    22     return 0;
    23 }
    黎明的朝阳,会为苦难中最坚强的信念升起
  • 相关阅读:
    串口通信
    无法安装SQL提示文件被挂起
    flash图片幻灯片浏览
    document.all与WEB标准
    在新窗口中打开页面 的asp.net后台代码
    sql 触发器
    无技术含量的正则表达式笔记
    两个FTP服务器之间传送数据
    repeater嵌套
    登录
  • 原文地址:https://www.cnblogs.com/Dawn-Star/p/9156846.html
Copyright © 2011-2022 走看看