EOJ1026

重力加速度

Time Limit:1000MS Memory Limit:30000KB
Total Submit:2671 Accepted:1039

Description 

从初中物理易知,一个物体从高处落下符合公式s=(g*t^2)/2,其中s为下落距离,g为重力加速度,这里取g=9.8,t为下落的时间。这里我们不考虑所有阻力。

一个同学爬到理科大楼的某一层向外下扔了一个苹果(水平扔出),人的身高为1.75米。你现在需要计算苹果从扔出到落地的时间。

理科大楼有17层,第一和第二层高为5米,其它各层高3米。一个人从第三层扔东西,那么高度应该是第一层加上第二层的高度,再加上人的身高,总共11.75米。

Input 

本题有多组测试数据。

每组测试数据占一行,含一个整数n,表示从第几层扔下。(1<=n<=17)

如果n=0,则输入结束。

Output 

每组测试数据输出一行。

每行输出一个浮点数,保留3位小数(要四舍五入),表示落到地面所需要的时间。

Sample Input 

3
0

Sample Output 

1.549


#include 
#include 
#define g 9.8

int main(){
    double s = 0.0;
    int n = 0;
    while(scanf("%d", &n) && n){
        s = 3.0 * (double)(n - 1) + 1.75;
        if(n > 2)
            s += 4.0;
        else if(n == 2)
            s += 2.0;
        printf("%.3lf\n", sqrt(s * 2.0 / g));
    }
    return 0;
}



你可能感兴趣的:(EOJ解题报告)