解题思路:
身为代码的初学者,不得不从数学层面想办法解决。
注意事项:
本代码分享由某新手兴趣使然,欢迎指正探讨及批评。
参考代码:
#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++代码)浏览:1304 |
C语言训练-斐波纳契数列 (C语言代码)浏览:1174 |
程序员的表白 (C语言代码)浏览:667 |
1908题解浏览:640 |
字符逆序 (C语言代码)浏览:460 |
C二级辅导-同因查找 (C语言代码)浏览:568 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:2166 |
C二级辅导-公约公倍 (C语言代码)浏览:1312 |
判定字符位置 (C++代码)浏览:676 |
检查金币 (C语言代码)浏览:1416 |