zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    TabControl
    Loading
    Dialog
    Combobox
    Markdown编辑器Editor.md使用方式
    XSS攻击
    跨域解决方案及实现
    angular4 自定义表单组件
    angular4 Form表单相关
    js 详解setTimeout定时器
  • 原文地址:https://www.cnblogs.com/xiangxyq/p/7826455.html
Copyright © 2011-2022 走看看