【华为OJ】【031-求小球落地5次后所经历的路程和第5次反弹的高度】

【华为OJ】【算法总篇章】


【华为OJ】【031-求小球落地5次后所经历的路程和第5次反弹的高度】

【工程下载】


题目描述

假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高? 

/**
 * 统计出第5次落地时,共经过多少米?
 *
 * @param high 球的起始高度
 * @return 英文字母的个数
 */
public static double getJourney(int high) {
    return 0;
}

/**
 * 统计出第5次反弹多高?
 *
 * @param high 球的起始高度
 * @return 空格的个数
 */
public static double getTenthHigh(int high) {
    return 0;
}

输入描述

输入起始高度,int型

输出描述

分别输出第5次落地时,共经过多少米第5次反弹多高

输入例子

1

输出例子

2.875
0.03125

算法实现

import java.util.Scanner;

/**
 * Author: 王俊超
 * Date: 2015-12-24 14:13
 * All Rights Reserved !!!
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
//        Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt"));
        while (scanner.hasNext()) {
            double h = scanner.nextDouble();
            System.out.printf("%g\n", getJourney(h));
            System.out.printf("%g\n", getTenthHigh(h));
        }

        scanner.close();
    }

    private static double getTenthHigh(double h) {
        return h / 32;
    }

    private static double getJourney(double h) {

        double up = (Math.pow(0.5, 4) - 1) / (0.5 - 1);
        double down = (Math.pow(0.5, 5) - 1) / (0.5 - 1);

        return h * 0.5 * up + h * down;
    }
}
时间: 2024-10-06 11:44:03

【华为OJ】【031-求小球落地5次后所经历的路程和第5次反弹的高度】的相关文章

华为OJ: 求小球落地5次后所经历的路程和第5次反弹的高度

学过自由落体就好,初中物理题. import java.util.Scanner; public class reboundFiveTimes { public static void main(String args[]){ Scanner input=new Scanner(System.in); int k=input.nextInt(); double high=k/32.0; double distance=k*23/8.0; System.out.println(distance);

华为测试 求小球落地5次后所经历的路程和第5次反弹的高度

假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高? 输入起始高度,int型 分别输出第5次落地时,共经过多少米第5次反弹多高 [去掉小数末尾无效的0] 样例输入:1 样例输出:2.875 0.03125 #include<iostream> using namespace std; double high(double H,int N); double total(double H,int N); int main() {

华为OJ——求小球落地5次后所经历的路程和第5次反弹的高度

题目描述 假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高? /** * 统计出第5次落地时,共经过多少米? * * @param high 球的起始高度 * @return 英文字母的个数 */ public static double getJourney(int high) { return 0; } /** * 统计出第5次反弹多高? * * @param high 球的起始高度 * @return 空格的个数 */

华为OJ平台——求最大连续bit数

题目描述: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 输入: 一个byte型的数字    输出: 对应的二进制数字中1的最大连续数 思路: 通过移位运算可以一次判断每一位的0.1值,然后通过统计可以得到结果 import java.util.Scanner; //byte 的范围是-128~127 public class MaxContinueOne { public static void main(String[] args) {

小球从100米高空落下,来会反弹10次后经过的路程和第10次反弹的高度

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main(){    double h = 100.0;   double h1 = h / 2;   double sum = 100.0;   int i = 0;  for (i = 1; i < 10; i++)     {         h1 = 0.5*h1;      h = 0.5*h;      sum+=2.0 * h;    } printf("10次

【华为OJ】【084-求最大连续bit数】

[华为OJ][算法总篇章] [华为OJ][084-求最大连续bit数] [工程下载] 题目描述 功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 输入: 一个byte型的数字 输出: 无 返回: 对应的二进制数字中1的最大连续数 输入描述 输入一个byte数字 输出描述 输出转成二进制之后连续1的个数 输入例子 3 输出例子 2 算法实现 import java.util.Scanner; /** * Author: 王俊超 * Dat

【华为OJ】【081-查找两个字符串a,b中的最长公共子串】

[华为OJ][算法总篇章] [华为OJ][081-查找两个字符串a,b中的最长公共子串] [工程下载] 题目描述 查找两个字符串a,b中的最长公共子串 输入描述 输入两个字符串 输出描述 返回重复出现的字符 输入例子 abcdefghijklmnop abcsafjklmnopqrstuvw 输出例子 jklmnop 算法实现 import java.util.Scanner; /** * Author: 王俊超 * Date: 2016-01-04 08:43 * Declaration: A

【华为OJ】【090-合唱队】

[华为OJ][算法总篇章] [华为OJ][090-合唱队] [工程下载] 题目描述 计算最少出列多少位同学,使得剩下的同学排成合唱队形 说明: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2-,K,他们的身高分别为T1,T2,-,TK, 则他们的身高满足存在i(1<=i<=K)使得T1<T2<......<Ti-1<Ti>Ti+1>......>

【华为OJ】【080-放苹果】

[华为OJ][算法总篇章] [华为OJ][080-放苹果] [工程下载] 题目描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. 输入 每个用例包含二个整数M和N.0<=m<=10,1<=n<=10.<=n<=10<=m<=10 样例输入 7 3 样例输出 8 /** * 计算放苹果方法数目 * 输入值非法时返回-1 * 1 <= m,n <= 10<