C刷题记录-1019
Posted 遇逆境、处之泰然
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C刷题记录-1019相关的知识,希望对你有一定的参考价值。
题目描述
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数
输入
M N
输出
它在第N次落地时反弹多高?共经过多少米? 保留两位小数,空格隔开,放在一行
样例输入
1000 5
样例输出
31.25 2875.00
1 #include <stdio.h> 2 #include <math.h> 3 4 int main(){ 5 6 int N,i; 7 float M,height,total_height ; 8 scanf("%f %d",&M,&N); 9 height = pow(0.5,N)*M; 10 /* 11 整个高度, 第一次落地时的高度=M, 然后第一次弹起至第二次落地走了 2 * 1/2M 12 然后第二次弹起到第三次落地 走了 2* 1/2 *1/2 M,所以第三次落地时 其实是第二次弹起 13 高度的两倍 14 | 15 | 16 | 17 | 18 | | 19 | | 20 | | | 21 | | | 22 1 2 3 23 */ 24 total_height = M; 25 for (i = 1; i <= N-1;i ++){ //N次落地,其实是前面N-1次落地高度的2倍+M 26 total_height += pow(0.5,i)*M*2; 27 } 28 printf("%.2f %.2f",height,total_height); 29 return 0; 30 }
以上是关于C刷题记录-1019的主要内容,如果未能解决你的问题,请参考以下文章