解题思路:
身为代码的初学者,不得不从数学层面想办法解决。
注意事项:
本代码分享由某新手兴趣使然,欢迎指正探讨及批评。
参考代码:
#include<stdio.h>
int main()
{
float m,n,i,a=0,c=0;
scanf("%f%f",&m,&n);
a=m/2; //分离出第一次落地,方便第8行表达。
for(i=1;i<n;i++)
{a=a/2;}
printf("%.2f ",a); //放最后也可以,注意有空格。
for(i=(n-1);i>=1;i--) //倒推,可以发现同样少算了第一次落地,第15行有解释。
{
a=2*a;
c=c+a;
}
printf("%.2f\n",2*c+m); //从输出值的表达方式可看出此数学题的美妙——除第一次落地外,每相邻的落地间均涉及上升与下降的等路程阶段。
return 0;
}
0.0分
1 人评分
C语言训练-计算1977!* (C++代码)浏览:857 |
打水问题 (C语言代码)浏览:1072 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:1006 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:616 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:667 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:683 |
1048题解(读入回车问题)浏览:565 |
演讲大赛评分 (C语言代码)浏览:1636 |
Tom数 (C语言代码)浏览:555 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:470 |