• 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第n次落地时,共经过多少米?第n次反弹多高?(n<=10)


    单纯考逻辑

    题目:
    一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第n次落地时,共经过多少米?第n次反弹多高?(n<=10)

    输入描述:
    一行,一个整数n (1<=n<=10)。

    输出描述:
    输出两个浮点数ans1,ans2。ans1为第n次落地时,共经过的距离;ans2为第n次反弹的高度。答案应与标准答案误差小于1e-5。两个数间以空格相间。

    输入例子1:
    1

    输出例子1:
    100.000000 50.000000

    输入例子2:
    10

    输出例子2:
    299.609375 0.097656

    //第一次落地比较特殊单独计算,因为路径只有下落,没有反弹 
    #include <bits/stdc++.h>
    using namespace std;
    int main(){
    	int n;//1~10
    	scanf("%d",&n);
    	//算第n次落地时,共经过的距离 
    	double sum=100;
    	double cur_h=50;
    	for(int i = 1;i < n;i++){
    		sum+=2*cur_h;
    		cur_h/=2;
    	} 
    	printf("%.6f %.6f",sum,cur_h);	
    	return 0;
    } 
    
  • 相关阅读:
    手机分辨率对应表
    本地加密解密工具类
    缓存清理的工具类
    Javadoc常见的标记和含义
    Android 禁止进入activity自动弹出键盘
    ListView
    可以展开和收起的的LinearLayout
    Android 编码规范
    ToastUtils
    防微信左滑删除的效果
  • 原文地址:https://www.cnblogs.com/10134dz/p/13709053.html
Copyright © 2020-2023  润新知