1234567891011121314151617181920212223242526272829303132333435 |
- #include <stdio.h>
- int main() {
- int n, m;
- int i;
- // 从键盘输入整数n和m
- scanf("%d %d", &n, &m);
- // 初始高度为n
- double height = n;
- // 总路程
- double total_distance = 0;
- // 第一次落地
- total_distance += height;
- // 反弹至原高度的四分之一
- height /= 4;
- // 从第二次落地开始,循环m-1次
- for (i = 1; i < m; ++i) {
- // 落地
- total_distance += height;
- // 反弹至原高度的四分之一
- height /= 4;
- // 再次下落
- total_distance += height;
- }
- // 输出总路程,保留两位小数
- printf("%.2f\n", total_distance);
- // 输出第m次落地后反弹的高度,保留两位小数
- printf("%.2f\n", height);
- return 0;
- }
|