列表

详情


HJ38. 求小球落地5次后所经历的路程和第5次反弹的高度

描述

假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?


数据范围:输入的小球初始高度满足 ,且保证是一个整数

输入描述

输入起始高度,int型

输出描述

分别输出第5次落地时,共经过多少米以及第5次反弹多高。
注意:你可以认为你输出保留六位或以上小数的结果可以通过此题。

示例1

输入:

1

输出:

2.875
0.03125

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 1ms, 内存消耗: 352KB, 提交时间: 2018-08-31

#include<stdio.h>
#include<stdlib.h>
int main()
{
    double inputhigh;
    double output;
    double allput;

    while(scanf("%lf",&inputhigh)!=EOF)
    {
        output=inputhigh/32;
        allput=inputhigh/8+inputhigh/4+inputhigh/2+inputhigh+inputhigh;
        
        printf("%g\n",allput);
        printf("%g\n",output);

    }
    
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 368KB, 提交时间: 2021-02-23

#include<stdio.h>

int main(void){
    int n;
    double sum,h;
    while (scanf("%d", &n) != EOF)
    {
        sum=h=n;
        for (int i=1; i<5;i++){
            h /=2;
            sum += h * 2;
        }
        printf("%g\n", sum);
        printf("%g\n", h/2);
    }
}

上一题