码迷,mamicode.com
首页 > 其他好文 > 详细

C刷题记录-1019

时间:2017-11-13 16:39:53      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:三次   include   题目   +=   turn   刷题记录   bsp   scanf   返回   

题目描述

一球从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

标签:三次   include   题目   +=   turn   刷题记录   bsp   scanf   返回   

原文地址:http://www.cnblogs.com/xiangxyq/p/7826455.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!