#include<stdio.h> int main(){ int m,n,i=0;//m落下高度,n反弹次数 scanf("%d %d",&m,&n); float a,b=0,sum=0;//sum是球经过路径 但是是反弹尚未开始时经过的路径 a=m; while(i<n){ sum=sum+a+b;//第一趟总路径a,第二趟总路径a+2*(a/2) a=a/2; b=a; i++; /* b=a; a=a/2; sum=sum+a+b; i++; 若是算反弹完全结束时走过的路径应为这个 */ } printf("%.2f %.2f",a,sum); } |
Double click to view unformatted code.