一個熊小孩在h米高的高大建築上玩彈力球,h是按米來算的。
然後,他拋出了彈力球,球很快就反彈了原來bounce的高度,例如2/3三分之二。
他母親此時正在window米高的地方,望著窗外,window應該是小於h的,也就是說,他母親肯定是在他下方。
請問,這位母親能在窗前看到球幾次?既包括下落,也包括反彈。
注意:
只有球反彈的高度絕對大於window,這位母親才能看到。
範例:
h = 3, bounce = 0.66, window = 1.5, 結果是3
h = 3, boutinnce = 1,
-1。
那什麼情況算異常值? 1.bounce反彈率或>=1,這樣的情況顯然不可能
2.熊孩子所處的高度比他母親還低,那就沒意義了,直接回-1
好了,來看思路:1.正常情況下,彈力球第一次下落,母親至少會看到一次。 2.若反彈起來的高度大於window,那麼一上一下,就要加上2次。
嗯,先排除異常值,再按照上面的思路來寫:function bouncingBall(h, bounce, window) { var total = -1; if(bounce <= 0 || bounce >= 1){ return total; } if(h > window){ total = 1; var current = h * bounce; while(current > window){ total += 2; current = current * bounce; } } return total; }
以上就是JavaScript趣題:彈力球的內容,更多相關內容請關注PHP中文網(www.php.cn )!