剑指Offer----扩展:抛小球(京东)

原创 2016年08月29日 11:08:44

问题描述:


小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地面N米,球从他手里自由落下,每次落地后反跳回上次下落高度的一半,并以此类推知道全部落到地面不跳,求4个小球一共经过了多少米?(数字都为整数)

给定四个整数A,B,C,D,请返回所求结果。

测试样例:100,90,80,70
返回:1020

分析:


其实这道题目是有陷阱的,在高度的计算过程中不能用整型,而必须用浮点类型,否则容易造成精度的确实。

源代码:


#include<stdio.h>
#include<stdlib.h>

double calcTemp(int A)
{
	if (A < 1)
		return 0;
	double A1 = (double)A;
	
	double sum = A1;
	while (A1)
	{
		sum += A1;
		A1 /= 2;
	}

	return sum;
}

int calcDistance(int A, int B, int C, int D)
{
	double A1 = calcTemp(A);
	double B1 = calcTemp(B);
	double C1 = calcTemp(C);
	double D1 = calcTemp(D);

	return A1 + B1 + C1 + D1 +0.5;
}

int main()
{
	printf("%d\n", calcDistance(100, 90, 80, 70));
	printf("%s  %s\n", __DATE__, __TIME__);
	system("pause");
	return 0;
}

运行结果:
1020
Aug 29 2016  11:07:48
请按任意键继续. . .




版权声明:本文为博主原创文章,未经博主允许不得转载。

剑指Offer----扩展:空格问题(京东)

问题描述: 给定字符串(ASCII码0-255)数组,请在不开辟额外空间的情况下删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。 例如:" i am a little boy....

剑指Offer----扩展:年终奖(京东)

问题描述: 小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他...

剑指Offer——京东校招笔试题+知识点总结

剑指Offer——京东校招笔试题+知识点总结笔试感言    经过一系列的笔试,发觉自己的基础知识还是比较薄弱的,尤其是数据结构和网络,还有操作系统。工作量还是很大的。做到精确制导的好方法就是在网上刷题...

小球的距离(每次弹起的高度为原来的一半)----京东2016研发工程师编程题(二)

[编程题] 小球的距离 小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地面N米,球从他手里自由落下,每次落地后反跳回上次下落高度的一半,并以此类推知道全部落到地面不跳...

MFC框架下的简单动画:小球平抛运动的源代码分析

分析程序 从程序的运行效果来看,白色的小球在黑色的背景下,从左上角出发作平抛运动,当小球达到最底面和最右边的边界的时候会反弹。注意观察的话,小球的白色是非常特别的,请原谅我这一个理科生不知道用专业术语...

Java多线程实现同时进行小球的自由落体与平抛

Java多线程的实现方法有继承Thread和实现接口Runnable。我这里用的是通过实现接口Runnable来创建新线程的。 要实现自由落体与平抛。 首先,是小球在窗口中运动。将小球封装成一个类,继...

自定义view实现随手指移动的小球及画轨迹

先直接上代码: step1.建立drawview.java package com.example.joky27.customview; import android.content...
  • julia27
  • julia27
  • 2017年04月18日 12:12
  • 431

andengine-2:andengine实现一个简单例子, 小球随手指移动

这博客是为了激励我自己学习使用, 自己学习过程中随便写写, 水平极其菜鸟, 因此稍微懂点的就可以右上角了 看了2个andengine中的小例子, 试着实现小球随手指移动的功能, 基本功能是实现了,至...

自定义随机颜色的圆形小球view随手指移动

下面代码就可实现 随机颜色的圆形小球view随手指移动 效果: package com.bwie.CustomBallView_RandomColor; import android...

随手指滑动小球

初学者了解自定义View很好的练习 1、新建MyDraw类并继承View,重写onDrwa画出你想要的控件 package com.example.administrator.draw; impo...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:剑指Offer----扩展:抛小球(京东)
举报原因:
原因补充:

(最多只允许输入30个字)