zoukankan      html  css  js  c++  java
  • UVa 10868 (物理) Bungee Jumping

    题意:

    有个人在蹦极,给出悬崖的高度,绳子的长度,弹簧绳的胡克系数 以及 人的质量。

    判断人是否能够着地,能的话是否能安全着地。所谓安全着地就是到达地面的速度不超过10m/s.

    分析:

    学过一点高中物理的就应该能解出来吧,既然是题解还是本着详细具体的原则来写。

    首先要求人能下落的最大高度,也就是重力做的功全部转化为弹簧绳的弹性势能。

    ,解出Δl:

    那么人能下落的最大高度就是l + Δl

    如果人能落地,还要看绳长l与悬崖高度s的关系

    • l>=s,则重力做的功全部转换为动能,,解得
    • l<s,重力做的功转变为弹性势能和动能,,解得

    最后再判断v和10的关系。

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cmath>
     4 using namespace std;
     5 
     6 const double g = 9.81;
     7 
     8 int main()
     9 {
    10     //freopen("in.txt", "r", stdin);
    11     double k, l, s, m;
    12     while(scanf("%lf%lf%lf%lf", &k, &l, &s, &m) == 4)
    13     {
    14         if(k+l+s+m == 0) break;
    15 
    16         double delta_l = (m*g + sqrt(m*m*g*g + 2.0*k*l*m*g)) / k;
    17         double maxh = l + delta_l;
    18         if(s > maxh) puts("Stuck in the air.");
    19         else
    20         {//能到达地面
    21             double v;
    22             if(s <= l) v = sqrt(2.0 * g *s);
    23             else v = sqrt(2.0 * g * s - k * (s-l) * (s-l) / m);
    24             if(v <= 10.0) puts("James Bond survives.");
    25             else puts("Killed by the impact.");
    26         }
    27     }
    28 
    29     return 0;
    30 }
    代码君
  • 相关阅读:
    [Database]初试SQLite,看看能不能在小东西内用用
    [Database]SQLite3 Transaction [事务处理]
    N多年过去了,为什么我们的成长并不大
    [Buzz.Today]2011.11.23
    [Tips]:Windows下获得当前Dll的路径
    关于Apple Siri:人机交互新进展
    思维的新发展
    权限问题
    理解FMS应用程序实例
    用LVS构架负载均衡Linux集群系统
  • 原文地址:https://www.cnblogs.com/AOQNRMGYXLMV/p/4298894.html
Copyright © 2011-2022 走看看