首页 > 试题广场 >

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

[编程题]求小球落地5次后所经历的路程和第5次反弹的高度
  • 热度指数:155464 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

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


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


输入描述:

输入起始高度,int型



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

输入

1

输出

2.875
0.03125
头像 AlphaGrey
发表于 2021-10-19 20:00:32
import sys for line in sys.stdin: num=int(line[:-1]) print(num*2.875) print(num*0.03125)
头像 牛客940206908号
发表于 2021-10-05 17:28:12
暴力求解: 总路程,除了第一次下落是单程,其他次着地都包含前一次反弹,所以是两倍高度。 while True: try: H1 = float(input()) H2 = H1/2 H3 = H2/2 H4 = H3/2 展开全文
头像 keepgoing20190801113019
发表于 2021-05-31 16:40:25
#include <iostream> using namespace std; int main() {//设置初始高度为h,则结果全部为h和1m所对应结果的乘积     int hei 展开全文
头像 牛客484960258号
发表于 2021-12-26 16:06:37
while True: try: H = int(input()) S = 0 - H for i in range(5): S = S + H * 2 H = H/2 print 展开全文
头像 秋榆梧桐
发表于 2020-03-03 21:01:08
while True: try: high = int(input()) sm = high for i in range(4): high /= 2 sm += 2 * high 展开全文
头像 摸鱼学大师
发表于 2021-10-21 10:34:13
题目的主要信息: 一球从hhh米高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第555次落地时共经过了多少米?第555次返弹多高? 精度保留到小数点后6位,输出去掉后面的0 方法一:过程模拟 具体做法: 我们遍历落地次数,第一次走过了落下高度这么多距离,然后弹起高度降低一半,然后走了弹 展开全文
头像 代码界的小白
发表于 2021-12-04 16:11:16
题目主要信息 1、一球从hhh米高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第555次落地时共经过了多少米?第555次返弹多高? 2、精度保留到小数点后6位,输出去掉后面的0 方法一:模拟 具体方法 遍历落地次数,第一次走过了落下高度这么多距离,然后弹起高度降低一半,然后走了弹起的高度这 展开全文
头像 牛客845801028号
发表于 2021-04-28 16:43:27
这也叫中等困难题?第k次落地经过的距离为:解这个等比数列: #include<iostream> #include <cmath> using namespace std; int main(){ int n=0; while(cin>>n){ 展开全文
头像 想吃火锅的猪猪是我的神
发表于 2022-03-21 21:52:02
#include<stdio.h> int main() { int n; scanf("%d",&n); double sum=0; double x=(double)n; for(int i=0;i<5;i++) { 展开全文
头像 java开发练习生
发表于 2020-08-09 15:31:25
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while 展开全文