解题思路: high为一开始的高度,然后每次递减为原值的一半. 因为有上升和下降的两个距离,所以每一次sum的距离就是high的两倍
注意事项: 第一次的sum只有一次,所以要减去m
参考代码:
#include<stdio.h> int main() { int i=1,m,n; scanf("%d",&m);//高度落下 scanf("%d",&n);//次数 double sum=0,high=1.0*m; for(;i<=n;i++){ sum+=high*2; high/=2; } printf("%.2lf %.2lf",high,sum-m); return 0; }
0.0分
2 人评分