首页 > 试题广场 >

小球的距离

[编程题]小球的距离
  • 热度指数:13406 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地面N米,球从他手里自由落下,每次落地后反跳回上次下落高度的一半,并以此类推直到全部落到地面不跳,求4个小球一共经过了多少米?(数字都为整数)

给定四个整数A,B,C,D,请返回所求结果。

测试样例:
100,90,80,70
返回:1020
头像 白伟仝
发表于 2020-07-24 19:20:19
以1/2为公比的等比数列求和(无穷级数),经过的距离包括往上弹的,所以乘3: import java.util.*; public class Balls { public int calcDistance(int A, int B, int C, int D) { // 展开全文
头像 牛客456891075号
发表于 2022-02-12 23:06:35
这道题思路比较简单,球第一次落下距离是X , 第二次弹起起落下是 x/2 + x/2 = x, 第三次是x/4 + x/4 = x/2,以此类推 第四次 x/4 ........ 实际是求 x + x + x/2 + x/4 ......... = 2x + (x-1)/x 约等于 3x.
头像 1binbin
发表于 2023-07-28 15:45:38
import java.util.*; public class Balls { public int calcDistance(int A, int B, int C, int D) { // write code here // S = A + 2 * 展开全文
头像 牛客534030675号
发表于 2023-04-13 10:55:18
# -*- coding:utf-8 -*- import sys def tofloat(l): for i in range(len(l)): l[i]=float(l[i]) return l class Balls: def s(self,n): 展开全文
头像 郭富成
发表于 2022-02-17 19:41:39
class Balls { public: int calcDistance(int A, int B, int C, int D) { // write code here return 3*(A+B+C+D); } }; /** 假设初 展开全文
头像 今天学了啥
发表于 2022-02-08 11:08:28
小球下落可看做取极限的过程 S=A+2∗A/2+2∗A/22+...+2∗A/2nS=A+2*A/2 + 2*A/2^2+...+2*A/2^nS=A+2∗A/2+2∗A/22+...+2∗A/2n  =A+A(1+1/2+1/22+...+1/2n−1)=A+A(1+1/2+1/2^2+...+ 展开全文
头像 我不打朋友圈
发表于 2021-12-14 22:05:35
import java.util.*; public class Balls { public int calcDistance(int A, int B, int C, int D) { return ((A+B+C+D)<<2) -(A+B+C+D); } }