一球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第n次落地时,共经过多少米?第n次反弹多高?(小数点后保留5位)

//球落地反弹
#include <stdio.h>
#define H0 100
#define K 2*H0//第n次往返经过的路程位2*(1/2)^(n-1)*H0 = (2*H0) * (1/2)^(n-1),
//则可令常系数k = 2*H0
int main(){
int n;
int m;
float distance = H0;
float distance_th = H0;
float delta = K;
scanf("%d",&n);
m = n;
while(--n){
distance += 1/2.0*delta;
delta /= 2;
}
while (m--)
{
distance_th /= 2;
}
printf("共经过%.5f米\n",distance);
printf("第%d次反弹%.5f米",n,distance_th);
}
posted @   xuchaoxin1375  阅读(16)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-07-09 绝对值@绝对值不等式@三角不等式
点击右上角即可分享
微信分享提示