一个孩子在一栋高楼的第N层玩球。这层楼的高度h是已知的。
他把球从窗口扔了出去。球反弹(例如)到其高度的三分之二(反弹0.66)。
他母亲从离地1.5米的窗户向外看。
妈妈会看到球在她窗前经过多少次(包括什么时候落下和弹跳)?
有效实验必须满足三个条件:
**以米为单位的浮动参数“h”必须大于0**
**浮动参数“bounce”必须大于0小于1**
**浮动参数“window”必须小于h.*。*
如果满足上述三个条件,则返回正整数,否则返回-1
注意:只有弹起高度大于窗口参数时才能看到球。
例子:
H=3,反弹=0.66,窗口=1.5,结果为3
H=3,弹跳=1,窗口=1.5,结果为-1(条件2)未满足)
package com.cn.nettytest.codetest; import java.text.DecimalFormat; public class Kaifang { public static int bouncingBall(double h, double bounce, double window) { if(h<=0){ return -1; } if(bounce<0||bounce>1){ return -1; } if(window>=h){ return -1; } double ji=window/h; double n=Math.log(ji) / Math.log(bounce); int num=(int)n; int times=2*num+1; return times; } public static void main(String[] args) { System.out.println(bouncingBall(3,0.66,1.5)); } }