球弹跳高度的计算

题目描述

一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。

编程计算气球在第 101010 次落地时,共经过多少米?第 101010 次反弹多高?

输入格式

输入一个整数 hhh,表示球的初始高度。

输出格式

输出包含两行:

111 行:到球第 101010 次落地时,一共经过的米数。

222 行:第 101010 次弹跳的高度。

注意:结果可能是实数,结果用 double 类型保存。

提示:输出时不需要对精度特殊控制,用 cout<<ANSWER,或者 printf("%g",ANSWER) 即可。

样例 #1

样例输入 #1

20

样例输出 #1

59.9219
0.0195313
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<stdbool.h>
int main(){
	double high,sum;
	int i;
	scanf("%lf",&high);
	sum=high;
	for(i=1;i<10;i++){
		high/=2.0;
		sum+=1.0*high*2;
	}
	high/=2.0; 
	printf("%g\n%g\n",sum,high);
	return 0;//csdn 旺旺的碎冰冰~
} 
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐