游客 Signup | Login
中文 | En

1170 - C语言6.18

一个球从100米高度自由落下,每次落地后反弹会原高度的一半,再落下,再反弹。求它在第n次落地时,共经过多少米以及第n次反弹多高。

Input

一个正整数n。

Output

第n次落地时共经过多少米以及第n次反弹多高,保留4位小数。

请注意行尾输出换行。

Examples

Input

10

Output

299.6094 0.0977

Solution C

#include<stdio.h>
int main(){
int n;
int i;
double sum=100.0,high=100.0;
scanf("%d",&n);
for(i=1;i<n;i++){
  high=high/2;
  sum+=high*2;
}
high=high/2;
printf("%.4lf %.4lf\n",sum,high);
return 0;
}

Solution C++

#include <stdio.h>
int main() {
	int i, n;
	float h, tot;
	h = 100;
	tot = 0;
	scanf("%d", &n);
	/* 模拟前n-1次反弹的过程 */
	for (i = 1;i < n;i++) {
		tot += h;
		h = h / 2;
		tot += h;
	}
	/* 模拟第n次反弹的过程 */
	tot += h;
	h = h / 2;
	printf("%.4f %.4f\n", tot, h);
	return 0;
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题