渐变


私信TA

用户名:uq_75534481952

访问量:1257

签 名:

世界一直在变,你我同样如此,逐渐变得更好。

等  级
排  名 1668
经  验 2584
参赛次数 2
文章发表 1
年  龄 21
在职情况 学生
学  校
专  业 计算机

  自我简介:

学习是改变自己最好的方法

TA的其他文章

解题思路:

             由题: 一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。

             可知: 一次落地的距离=下一次落地后弹起的距离*2;即L1=T1*2=L2+T1;

                        因此第n次落地后弹起的距离为Tn=Ln/2;

                        在n次落地球所经过的总距离S=L1+L2+T1+L3+T2+.....+Ln+Tn-1=L1+L1+L2+L3+......+Ln-1;


弹跳模型.png

注意事项:S=L1+L2+T1+L3+T2+.....+Ln+Tn-1=L1+L1+L2+L3+......+Ln-1

                 中L1出现了两次,且最终落地距离为Ln-1;
参考代码:

#include<stdio.h>
void main()
{
  int m,n;
  float S=0,T;
  scanf("%d%d",&m,&n);
  S=m;
  T=m/2;
  for(int i=1;i<n;i++)
  {
  S+=2*T;
  T=T/2.0;
  }
  printf("%.2f %.2f",T,S);
}


 

0.0分

22 人评分

  评论区

我这个代码有啥错误吗?提交一直出错,真心学习。
#include<stdio.h>
int main()
{
  int m,n;
  float S=0,T;
  scanf("%d%d",&m,&n);
  S=m;
  T=m/2;
  for(int i=1;i<n;i++)
  {
  S+=2*T;
  T=T/2.0;
  }
  printf("%.2f %.2f",T,S);
}
2023-04-23 22:18:52
  • «
  • 1
  • »